前情提要

之前一直沒針對SEO相關去優化,通常都是網站寫完交差,最近網頁案子有包含架站,架完發現Google竟然找不到!原來Google有一個檢索器會造訪新網頁或是更新過的網頁,並排入Google索引佇列建立索引,索引建立後使用者輸入查詢時,Google會根據很多條件從索引中找出關聯性最高的結果(詳細請參閱:這裡)。不行啊!網站連google都找不到怎麼行,所以開始想辦法讓網頁能夠在Google被找到,其中一種提升SEO的方式就是網頁使用Https加密協議,Https已被列入搜尋引擎演算法之一。那就來把Http改成Https試試SEO效果八!

虛擬機器:Google Cloud Platform VM
系統:Windows server 2019
網頁伺服器:IIS

會有以下要做的事

1. Server 防火牆建立Port:443規則
2. GCP VPC防火牆建立Port:443規則
3. 申請SSL 憑證
4. IIS 匯入憑證
5. IIS 新增https port:443的site

Server 防火牆建立Port:443規則

windows本身就有開通Https Port:443的規則
在防火牆=>進階設定=>輸入規則可看到
擷取.JPG

GCP VPC防火牆建立Port:443規則

進到VM執行個體詳細資料,編輯後勾選防火牆允許HTTPS流量,下方網路標記會多出https-server
擷取1.JPG
然後到VPC網路的防火牆檢查規則有沒有https port:443的規則,找不到VPC網路的防火牆的話上面直接搜尋最快
擷取2.png
這邊有個地方要注意,防火牆規則的目標是自己輸的但不是隨便打的!還記得剛剛有說會有個網路標記https-server巴,這邊的目標就是對應到網路標記,講一下目標的選項
擷取3.JPG
網路中的所有執行體、指定的目標標記,指定的服務帳戶三種,這邊只講常用的網路中的所有執行體指定的目標標記
目標選擇網路中的所有執行體表示這個設定應用到所有個虛擬機器上,所以若Https port:443的規則目標是網路中的所有執行體,就表示所有虛擬機的443 port都開通
目標選擇
指定的目標標記表示這個設定只應用在有這個網路標記的虛擬機器上,若是這邊輸入的標記而目標的VM沒有這個網路標記就不會吃到設定喔!

申請SSL憑證

SSL憑證有付費跟免費的,但此網頁的業主並沒有租用SSL憑證,單純只是我想試SEO,所以選擇了免費的SSL憑證
我是用ZeroSSL的90天免費方案,但注意!!!ZeroSSL的90天免費方案只有3張憑證,3張用完共270天就要付費了

ZeroSSL申請方式請看

IIS 匯入憑證、IIS 新增https port:443的site

1. 產生pfx憑證

要匯入到IIS內的憑證需要 *.pfx 的檔案,根據不同管道取得的憑證內容會不同,如果直接是*.pfx 的檔案就可直接使用,若不是也不用擔心,基本上都可以轉成*.pfx 的檔案

而從ZeroSSL取得憑證會有3個檔案

- certificate.crt Certificate 文字檔
- private.key Private Key 文字檔
- ca_bundle.crt 中繼憑證文字檔

可以使用OpenSSL來產生*.pfx 
1. 以系統管理員身分打開命令提示字元
2. 將
certificate.crt、private.key、ca_bundle.crt三個檔案放到OpenSSL目錄底下的bin資料夾
3. 命令提示字元開啟OpenSSL目錄底下的bin資料夾
4. 輸入openssl pkcs12 -export -in certificate.crt -inkey private.key -out 憑證名稱.pfx -certfile ca_bundle.crt -password pass:憑證密碼
5. 成功的話OpenSSL目錄底下的bin資料夾內就會出現憑證名稱.pfx的憑證檔案

OpenSSL可以到這裡下載

2.匯入憑證到IIS

點擊IIS根目錄找到伺服器憑證
擷取4.JPG
進入伺服器憑證後點import,選擇剛剛產出的憑證名稱.pfx檔案,密碼輸入憑證密碼,憑證儲存選personal
擷取5.JPG
憑證匯入好之後到網頁站台新增網站,類型選https,下方憑證選擇剛剛所匯入的憑證
擷取6.JPG
接下來就可以打開網頁看看是否成功囉!
擷取7.JPG
耶~網頁變安全了XD,接下來就看https對於SEO的成效囉!

會想紀錄如何使用https是因為在GCP的防火牆設定上卡關,一開始是直接到VPC網路的防火牆內直接新增一個port 443的規則,想說和系統的防火牆規則一樣,內容怎麼填參照http port 80的規則應該沒錯吧!,這時!!目標我就照著port 80規則打了"https-server",一切看似順利server和VM防火牆都開了,憑證也準備好了,站台新增https網站,憑證選擇剛剛熱騰騰產生的憑證,心想:輕鬆愉快~,一連,無法顯示網頁,WTF?!連網頁都顯示不了,當下覺得有2個地方可能出問題,1. DNS打錯或沒有設定好,Domain name找不到對應網站,2. 防火牆沒開通,來回檢查好幾次,DNS沒錯啊,因為port 80正常,防火牆也都有開阿,搞了很久想說那開一個不是443的port試試,這時VPC網路的防火牆規則目標因為是隨便一個port我選了網路中的所有執行個體,通了!,一查才發現這個防火牆規則的目標是要對應到VM的網路標記,難怪一直找不到網頁,因為VM那邊沒有"https-server"這個網路標記所以防火牆規則不會套用。只能怪自己對GCP設定不熟悉,這問題其實有點蠢,魔鬼藏在細節中,以為照著打就行,不過學習了

arrow
arrow
    文章標籤
    GCP Google Cloud Platform https
    全站熱搜
    創作者介紹
    創作者 jack1213 的頭像
    jack1213

    尋找魔豆的傑克

    jack1213 發表在 痞客邦 留言(0) 人氣()