同一台服务器上可以拥有多个域名和多个证书吗?

同一台服务器上可以拥有多个域名和多个证书吗?

在我的 nginx 配置中website.conf我希望有如下内容:

server {
    listen 443;
    server_name firstdomain.com seconddomain.com;
    ...
    ssl_certificate /etc/letsencrypt/live/firstdomain.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/firstdomain.com/privkey.pem;
    ssl_certificate /etc/letsencrypt/live/seconddomain.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/seconddomain.com/privkey.pem;
}

我确实尝试过但它只能以安全的方式提供一个域。

答案1

这里有几个问题。首先,HTTPS 通过端口 443 提供服务,而不是端口 80。

因此,您应该编辑 TLS 设置的部分将监听端口 443。

其次,你需要server block为每个域设置不同的。每个服务器块相当于 Apache 虚拟主机

第三,如果您使用 Let's Encrypt,我建议您让每个域都通过server blocks端口 80(不使用 HTTPS)运行,然后让 Certbot 为您完成神奇的工作,并配置 SSL 证书并设置 Nginx 配置。有几篇教程介绍如何做到这一点。

一旦你的域名在端口 80 上运行,你就可以安装 Certbot(请参阅https://certbot.eff.org/了解有关如何为您的发行版进行安装的具体说明),然后运行以下命令:certbot --nginx

祝你好运!

相关内容