網站由於安全的意識抬頭 現在Google特別地將https提升搜尋引擎的排名 且如果是電子商務網站的站 建議還是要加上https
由於網站的整個傳輸過程都是加密的,所以會增加伺服器的加密和解密的效能負荷 但是我覺得進行這個投資還是值得
如果原先的網站是http的,但是原來的網站不想去做特別的更動設定 像說我原來的網站是用Docker架設的 但是不想去更動原來的Docker設定 要改成https的話 分享一個我覺得不錯的辦法
就是在網站前面架設一個Reverse Proxy 利用這個Reverse Proxy去做https的加密和解密
[Nginx]的ssl Reverse Proxy做法 可以參考這一篇文章 https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-with-ssl-as-a-reverse-proxy-for-jenkins 這樣原先的網站就不用去做設定
如果原來的網站是用Wordpress架設的 要加上一個語法到wp-config.php
define('FORCE_SSL_ADMIN', true); // in some setups HTTP_X_FORWARDED_PROTO might contain // a comma-separated list e.g. http,https // so check for https existence if (strpos($\_SERVER['HTTP\_X_FORWARDED_PROTO'], 'https') !== false) $_SERVER['HTTPS']='on';
參考: https://codex.wordpress.org/Administration_Over_SSL
不然網站會一直進入無窮跳轉 原因是:
Reverse Proxy進來的流量轉成http進入第二層網站伺服器 但是網站伺服器的wordpress應用程式判斷目前並不是https的加密協定 因此進行跳轉到https, 然後https的流量進入Reverse Proxy之後 又轉成http進入了網站伺服器,所以繼續進行跳轉
所以上面那段語法是說明如果透過網路的http header的資料發現Reverse Proxy的那段是https的話 自動將的http轉成https,進行模擬網站伺服器的流量就是https
參考文章:
https://www.linode.com/docs/web-servers/nginx/nginx-ssl-and-tls-deployment-best-practices