Apache http 轉 https

某個網站因為 google 搜尋原因
需要將從原本只有提供 HTTP 服務擴充至可提供 HTTPS 服務
所以會有幾個問題
首先,要設定 SSL
這台原先是安裝 Apache 所以設定方式都和 Nginx 不一樣
我這邊的作法是 http 與 https 個使用一個設定檔來分開做設定
分別為
http-site.example.conf

https-site.example.conf

這邊可以將原先的 http-site.example.conf 複製到 https-site.example.conf 來修改
要修改的部分如下

<VirtualHost *:80> 改成 <VirtualHost *:443>

增加以下設定
        SSLEngine on
        SSLCertificateFile "/etc/apache2/key/your_key.crt"
        SSLCertificateKeyFile "/etc/apache2/key/your_key.key"

這邊的 /etc/apache2/key/ 是我自己建的
會這樣放是方便我好管理

修改完畢後可以用 apachectl configtest 檢查設定是否有誤


再來是之後進來的流量都導到 https
這個部分要去 vhost 去做調整
這邊的安裝環境是 Ubuntu,所以檔案會在 /etc/apache2/sites-avaliable 裡面
(如果是使用非 Ubuntu 提供的套件,folder 的位址可能會不同)
譬如說你的網站是 site.example.com,而這個網站的設定檔是 http-site.example.conf
用編輯器開啟 http-site.example.conf 這個檔案之後,把以下設定放在 <VirtualHost> 內

RedirectMatch ^/(.*) https://abc.explame.com/$1

這樣所有存取
http://abc.explame.com/folder/
都會被轉到
https://abc.explame.com/folder/


最後設定完記得 restart apache 唷

留言