Ubuntu

設置伺服器範圍的 ssl 配置

  • January 11, 2016

背景 我有一個簡單的伺服器,只有一個站點。我想強制使用 ssl。我以前使用自簽名證書執行此操作,但現在我有一個letsencrypt 證書。我使用了自動設置,但是當我訪問我的網站時,它使用舊證書。

我認為我的問題類似於:即使我有一個啟用站點的文件,也會顯示預設的 apache index.html

在這個答案中:https ://serverfault.com/a/690668/226403選項之一是“如果您希望它作為您的預設/唯一主機,那麼甚至不要打擾 VirtualHost 標籤,並在伺服器級別”。

問題如何更改伺服器範圍的配置?我認為這個伺服器範圍的配置是使用舊證書的原因,但我無法理解如何更改它?

謝謝!(我的設置是使用 apache 的 Ubuntu VM)

編輯:在 /etc/apache2/ssl 中有舊的 .key 和 .pem 文件,如果我移動這些文件,一切都會嚴重中斷,apache 將無法啟動!

解決方案(至少對我而言)。顯然,您可以在站點可用和 conf-available 中進行設置。Lets Encrypt 自動設置站點可用,但不可用。我執行了遞歸搜尋(使用https://stackoverflow.com/questions/16956810/finding-all-files- contains-a-text-string-on-linux ) $ grep -rnw '/etc/apache2/' -e 'SSLCertificateFile':。在 conf-available 中找到不正確的文件並重新啟動 apache: sudo service apache2 reload

如果您有一個現有的、有效的 https 配置,/etc/apache2/ssl您只需要更改相關配置文件的值以指向letsencrypt 提供的新文件。

例如,example.com 文件將儲存在

/etc/letsencrypt/live/example.com/

您需要更改的配置設置是

SSLCertificateFile      /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile   /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/fullchain.pem

保存文件並重新啟動apache2。

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