免費SSL

何謂SSL

為了讓使用者於瀏覽網頁時安全地傳輸資料,特別是具備後台管理或輸入個人機敏資料的網站,應該使用網站資料傳輸加密協定(如HTTPS),透過SSL憑證加密後讓資料傳輸更安全,並且若網站升級採用新一代的HTTP/2的網頁傳輸協定,其先決條件就是必須使用HTTPS加密。

一般而言要使用加密傳輸,若不是使用系統自發憑證(使用Chrome瀏覽器閱讀時會出現「不安全的憑證」),便需要向第三方以支付年費方式購買SSL憑證,本說明將提供於伺服器上安裝免費的憑證(以Let’s Encrypt為例)教學文件,為大家的網頁傳輸加密。          資料參考:師大資訊中心

申請及使用

Let’s Encrypt是由各大非營利團體為了推廣 HTTPS 而推出免費 SSL/TLS憑證服務,每次申請有效期為3個月,並可設定自動更新憑證。

我是主機的擁有者,所以選擇安裝Certbot軟體。

1.選擇 apache+Linux(snap)

2.ssh登入主機安裝snapd

sudo apt update
sudo snap install --class certbot

3.Prepare the Certbot command

sudo ln -s /snap/bin/certbot /usr/bin/certbot

4.Choose how you’d like to run Certbot

sudo certbot --apache

5.Test automatic renewal

sudo certbot renew --dry-run

後記:

安裝後運動程式會有問題,必須下判斷式去判斷。

發現網站加了SSL後,運動網站有點問題。
目前解決方式:
/include/config.php
加上判斷
//URL
if($_SERVER["HTTP_HOST"]=="wwesbake.idv.tw"){
   define('ROOT_URL' , "https://". $_SERVER["HTTP_HOST"] ."/$web_name/") ; 
}else{
   define('ROOT_URL' , "http://". $_SERVER["HTTP_HOST"] ."/$web_name/") ;
}

除了要加判斷式之外,登入時轉址還會出現錯誤。檔案在:/var/log/apache2 的 error.log檔

造成網頁出不來,移除Certbot,卻出現無法執行apache2的情形。

重裝apache2連帶影響php5.5,到我的google網站去看教學。安裝了php5,只有裝部份的php5模組,真是糟糕!爬一爬文章,再加上自己的判斷,終於是在10/13晚上裝好了,可是自己的網站還是不行。不過,phpmyadmin竟然可以跑,心比較平靜一點,因為資料還在就好。抱著忐忑的心去睡覺吧!

早上(10/14)起床,突然想一想應該是php.ini設定的問題。果然是

Short_open_tag 要設定on
display_errors 設定on
php.ini 檔案位置

設定好就可以執行了。