設置伺服器範圍的 ssl 配置
背景 我有一個簡單的伺服器,只有一個站點。我想強制使用 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。