2017-02-27 132 views
1

我在數字海洋液滴(使用nginx)上設置了兩個域。我在其中的一個(domain1)上安裝了一個SSL證書,一切都很好。第二個域(domain2)不需要SSL證書,但是如果我嘗試訪問https://domain2會向我顯示domain1的內容並給我一個證書錯誤(此頁面不安全)。沒有ssl證書的域重定向到不同的ssl域

我明白了證書錯誤,但我不希望被顯示在https://domain2

域1的內容是它的配置問題?

回答

0

nginx總是有默認服務器,如果server_name不匹配時使用的一個。如果您只有一個帶有listen 443的服務器塊,那麼無論服務器名稱如何,這都是針對所有https連接的隱式默認服務器。

您將需要建立一個明確的捕獲所有服務器https連接,或添加listen 443 ssl到現有server塊充當包羅萬象的服務器。

您可以重複使用相同的證書文件,如果有人試圖使用證書文件,但您至少不會暴露您的其他域,您將繼續獲取證書錯誤。

例如:

ssl_certificate  /path/to/crt; 
ssl_certificate_key /path/to/key;  

server { 
    listen 443 ssl; 
    server_name domain1; 
    ... 
} 
server { 
    listen 443 ssl default_server; 
    return 403; 
} 

中查看this documentthis document