通配符证书和多域名证书配置Nginx
2020年6月10日
证书推荐更多
如果你申请的是通配符证书和多域名证书的话,可以把这些域名部署在同一个P地址上;不过虚拟安全托管的工作模式在现有的情况下可能还不行。这无需特殊配置,只要把所有网站绑定到相同的IP地址上并确保它们使用了相同的SSL证书即可。
这种方式的工作原理是,TLS终止和HTTP域名处理是两个独立的处理步骤。当终止TLS时,Nginx会从指定IP地址的默认服务器(配置中的第一个服务器)中返回证书。当处理HTTP请求时,Nginx会检查host请求头并转发到 server_name 配置与Host头相匹配的服务器。如果未匹配成功,则使用默认的服务器。
复用证书的最佳方式是把证书配置放在HTTP段内,这样之后的服务器配置都可以直接继承:
#为所有之后的服务器配置同一个证书和同一个密钢
ssl_certificate server.crt;
ssl_certificate_key server.key;
#site1.example.com
server {
listen 443 ss1;
server_name sitel.example.com;
…
}
#site2.example.com
server {
listen 443 ss1;
server_name site2.example.com;
…
}
以上这种方式简化了维护并且在内存中只会保存一份证书和私钥的信息,这就是通配符证书和多域名SSL证书实现配置Nginx的介绍。