昨天已經把網站部署上去了,只差沒有 HTTPS,今天趕快來補一下
支援 HTTPS 的方式有很多種,有免費的也有付費的,有自己申請也有自動申請的,筆者這邊提出比較常見的三種:
acme.sh 是個用來自動申請 HTTPS credential 的工具,只要安裝在遠端主機上他就會自動幫你申請,期限快到了還會自動刷新,真的超厲害
申請到憑證之後再用 nginx 負責處理 HTTPS,比較麻煩的地方在於還要自己安裝 nginx、寫 nginx 的設定轉發請求,但如果你的網站本來就有用 nginx 那這個方案就很適合你
caddy 是一個類似 nginx 的 web server,他會幫你處理好所有 HTTPS 問題,你只要安裝好寫個設定檔就可以,還滿適合小型網站使用,用起來也超簡單
Cloudflare 是一個網路服務,提供 HTTPS、CDN、DDOS 防護等等很多功能,而且也有提供一個網站的免費額度,因為他用起來很簡單而且不用在機器上安裝任何東西,所以這邊會用它來支援 HTTPS
目前的網域 phish-github.com
是直接導到機器的 IP 35.230.77.238
,過程沒有經過特別的加密,如下圖
用了 Cloudflare 的服務後可以把 phish-github.com
導到 Cloudflare server 去,他會幫我們處理好 HTTPS,然後再把請求導到我們的機器,這樣瀏覽器就會看到 phish-github.com
這個網域有 HTTPS 了~
先到 Cloudflare 註冊後他會要求你輸入 domain,就輸入 phish-github.com
然後選擇免費版的
然後會看到一個設定 DNS 的頁面,這個先不理他繼續 continue,晚點再來設定
接下來會看到類似下圖的頁面,這個是在教你怎麼做上面提到的第一步:把域名(phish-github.com
)導到 Cloudflare,可以點下面的 I need help ... 然後選 namecheap,他會有一步一步的教學告訴你怎麼在 namecheap 上設定,跟著他的教學做很簡單
完成後會到一個 overview 頁面,這邊是 Cloudflare 在確認你有沒有把網域導過來,如果你上一步有設定好的話稍微等一下就會變成下圖的綠色了
接下來到 Crypto 裡面把 SSL 設為 Flexible ,還有下方的 Always Use HTTPS 設成 On ,這樣就開始支援 HTTPS 了
然後就是最後一步:讓 Cloudflare 把請求導到我們機器的 IP,新增一個 A Record 把請求導到我們的機器 35.230.77.238
HTTPS!!!
今日是 Day27,雖然每天寫文章很累,但總算是完成當初自己在 Day01 設下的目標
後面還有幾天就來談談怎麼防範這種用 reverse proxy 做的釣魚網站吧