自從Google在2014年宣布將把有SSL數位憑證的網站,提高其SEO的排名排名之後,SSL數位認證已不再只侷限於商業金融、購物拍賣等大型網站,小到連個人部落格都群起效尤。甚者從去年9月起,Google還將所有HTTP網頁的網址列標示上「不安全」的字樣,因此SSL數位憑證已儼然成為一種趨勢。
原則上在台灣感覺申請SSL認證的價格都蠻不便宜的,而且說實在的在下這個一年更新沒幾次的部落格也沒必要當盤子花大錢去弄那玩意兒…那正好個人使用N年以上的CDN服務商CloudFlare已經有提供免費的SSL服務,所以我就直接去申請來用了w
基本上設定的方式非常簡單,只要你已經有使用CloudFlare的CDN服務,將網域指向它提供的DNS SERVER的話,一切就很容易處理了。
首先點選上方選單的Crypto,然後選擇你所要綁定的SSL形式,在下是選擇Full(strict),其他的形式如果英文看不懂自己査(ry
接著在下方將Always Use HTTPS這個設定改成「ON」,如此一來所有對你目前網域的HTTP請求都會自動導向HTTPS+你的網域。
接下來是Opportunistic encryption這個設定,同樣是把它改成「ON」。老實說在下真的看不懂這個在説什麼,詳細說明請參照維基百科,我期待有一天哪個好心人拜託能告訴我一下這個是什麼XD
最後一個Automatic HTTPS Rewrites,顧名思義它會幫你把網站上所有開頭為HTTP的自有網域改成HTTPS,以符合SSL連線的基本要求。以在下部落格為例,即moelog.com底下所有HTTP開頭的圖片及連結都會自動被改寫成HTTPS的概念。
當然,透過上述功能將網址改寫多少還是會出現漏網之魚,導致你網站的網址列不會顯示鎖頭而是驚嘆號,特別是WordPress。我相信不會有人白癡到一個個去検査並修改過去文章的圖片連結吧…文章量少還好,三五百篇的話是會改到出人命的(笑
這邊在下是透過免費資源網路社群所提供的兩個SQL語法來修改圖片連結,主要是把圖片從直接連結(HTTP開頭)修改成相對連結(//開頭):
UPDATE wp_posts
SET post_content = ( Replace (post_content, ‘src=”http://’, ‘src=”//’) )
WHERE Instr(post_content, ‘jpeg’) > 0
OR Instr(post_content, ‘jpg’) > 0
OR Instr(post_content, ‘gif’) > 0
OR Instr(post_content, ‘png’) > 0;
然後再一個是解決單引號連結的語法:
UPDATE wp_posts
SET post_content = ( Replace (post_content, “src=’http://”, “src=’//”) )
WHERE Instr(post_content, ‘jpeg’) > 0
OR Instr(post_content, ‘jpg’) > 0
OR Instr(post_content, ‘gif’) > 0
OR Instr(post_content, ‘png’) > 0;
最後,就是回到你WordPress後台的一般設定,將網站的網址改成HTTPS開頭,如此未來所有的文章的書寫與發表等等,都會在此新網址下進行了。簡單吧?