Linux

NGINX - 兩個域的 https 和 letencrypt

  • December 6, 2017

談到 Linux 和 nginx,我是個菜鳥,所以我的問題可能和聽起來一樣基本。

所以我有兩個域 domain1.com 和 domain2.com 都指向我的伺服器。我已經通過letsencrypt為兩者中的每一個獲得了證書。如何為每個域安裝其中的每一個?

我已經搜尋了網際網路,但沒有運氣。到目前為止,我想出了這個

配置一:

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 實例上為兩個域使用兩個證書?

謝謝!

編輯:所有其他配置幾乎都是您在安裝時獲得的基本配置。

您需要為每個伺服器塊添加綁定:

listen myipaddress:443 ssl http2;

第一個站點正在吸引流量。您可以使用相同的 IP 但只需要檢查 nginx 版本是否支持 SNI(如果是最新版本則應該這樣做)

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