Linux

是否可以在同一台伺服器上擁有多個域並具有盡可能多的證書?

  • February 28, 2020

在我的 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;
}

我確實嘗試過,但它只以安全的方式服務於一個域。

這裡有幾個問題。首先,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.

祝你好運!

引用自:https://serverfault.com/questions/1004968