我对 Linux 和 nginx 还是个新手,所以我的问题可能听起来很简单。
因此,我有两个域 domain1.com 和 domain2.com 都指向我的服务器。我已通过 letsencrypt 为这两个域分别获取了证书。我该如何为每个域安装证书?
我搜索了互联网,但一无所获。到目前为止,我想出了这个
配置 1:
server {
server_name domain1.com;
ssl_certificate path/to/cert;
ssl_certificate_key path/to/cert/key;
}
配置二:
server {
server_name domain2.com;
ssl_certificate path/to/cert2;
ssl_certificate_key path/to/cert/key2;
}
默认配置:
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
root /var/www/html;
}
我为两个域都创建了一个。一个域已配置完毕,运行良好。但第二个域无法通过 https:// 访问 domain2.com,而且域指向默认端。
TL;DR 如何在一个 nginx 实例上为两个域使用两个证书?
谢谢!
编辑:所有其他配置几乎都是安装时获得的基本配置。
答案1
您需要向每个服务器块添加绑定:
listen myipaddress:443 ssl http2;
第一个站点正在捕获流量。您可以使用相同的 IP,但只需检查 nginx 版本是否支持 SNI(如果是较新版本则应该这样做)