Let’s Encrypt網域驗證與Apache rewrite共存設定

如各位所見,本blog在使用http連線的時候會自動導向https
(沒辦法這年頭不用https連線chrome直接打個大大的”不安全”)

大家在自己架站的時候可能會遇到這樣的問題
apache設定rewrite去導https之後,Let’s Encrypt的SSL網域驗證就失效了
原因很簡單,因為在一開始驗證網域的時候https肯定還沒設好,所以Let’s Encrypt只會使用http進行驗證
當http被導向https,Let’s Encrypt自然就讀取不到驗證資料了

解決方法也很簡單
Let’s Encrypt在驗證的時候是在網站開一個/.well-known/的暫時目錄,用來存放驗證資料
所以只要加一條rewrite的規則來處理就好了

比如本站用的寫法:
RewriteEngine On
RewriteRule ^/\.well-known/ - [L]
RewriteRule (.*) https://blog.dabinn.net/$1 [R,L]

設好之後重啟Apache
然後瀏覽器自己打 http://網址/.well-known/ 來測試
沒被導去SSL的話就完成了

現在還在寫blog分享資訊的人越來越少,如果覺得文章對您有幫助,歡迎在底下留言,這樣我也比較有動力繼續寫下去,謝啦!

Leave a Reply

Your email address will not be published. Required fields are marked *