Wordpress開啟全站HTTPS需要做的事

Wordpress開啟全站HTTPS需要做的事

需要準備什么

SSL證書,可以通過 Let’s Encrypt 的免費SSL證書獲取。

獲取Certbot

Certbot 是一個簡單易用的 SSL 證書部署工具,由 EFF 開發(fā),前身即 Let’s Encrypt 官方(Python)客戶端。簡單來說,certbot 就是一個簡化 Let’s Encrypt 部署,和管理 Let’s Encrypt 證書的工具。certbot的開源項目在GitHub上,所以,我們的第一步,是clone certbot項目到本地:

git clone https://github.com/certbot/certbot

申請證書

現(xiàn)在,可以通過腳本來申請證書了,以我的域名為例:

cd certbot./letsencrypt-auto certonly -d www.flywill.cn -d flywill.net

出現(xiàn)如下的證書申請與安裝界面:

img

選擇第二個選項,OK并繼續(xù)。界面會提示證書申請成功的信息,表示證書已經(jīng)成功生成。

需要注意的是,在申請證書之前,如果本機有運行Nginx,需要先停掉。并確認本機的443端口能被公網(wǎng)所訪問

配置證書

申請好的證書,包含四個文件,默認會放在這里:

/etc/letsencrypt/live/www.flywill.cn/fullchain.pem/etc/letsencrypt/live/www.flywill.cn/privkey.pem/etc/letsencrypt/live/www.flywill.cn/cert.pem  /etc/letsencrypt/live/www.flywill.cn/chain.pem

有了這些證書文件,我們就可以去配置我們的Nginx了,實際上,我們用兩個證書文件就行了,一個是帶私鑰的文件,一個是帶公鑰的文件。拿我的Nginx配置文件舉個栗子:

server {
        listen 80 default; #默認監(jiān)聽80的HTTP端口; 
        listen 443 ssl; #確保Nginx監(jiān)聽HTTPS的443端口

        # SSL證書配置
        ssl_certificate /etc/letsencrypt/live/www.flywill.cn/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/www.flywill.cn/privkey.pem;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;

        root /home/xiaozhou;
        index index.html index.htm;

        server_name flywill.cn www.flywill.cn;
}

配置好之后,直接用Nginx reload配置即可。

證書的驗證

證書配置好了,我們就可以直接用瀏覽器通過https地址來訪問和驗證證書了,比如:https://flywill.cn

我們會看到地址欄的前面有一把小鎖,嗯,咱是有證書的人了!

點擊查看證書,還可以看到申請到的證書的詳細信息,Let’s Encrypt簽發(fā)的,貨真價實。

如果網(wǎng)站能打開但是還是顯示不安全的鏈接,打開F12,console頁簽下會顯示有些資源文件事以HTTP形式加載的,需要去Wordpress后臺修改,一般在這兩處地方修改就可以了。

其余文章內(nèi)的鏈接可以通過這個SQL修改:

UPDATE wp_posts SET post_content = replace( post_content, 'http域名','https域名');

證書的自動續(xù)期

最后一步,就是證書的自動續(xù)期了。Let’s Encrypt的證書,默認的有效期是90天,不過官方推薦每60天續(xù)期。到期之后,我們需要用命令來為證書續(xù)期,不過我們是懶人,這種體力活還是交給機器來完成比較合適。所以,我們可以用Linux的cron job來完成這類的任務,配置cron job,每兩個月的第一天,執(zhí)行下面的命令:

#minute hour day month day_of_week    command    0     0    1   */2      *          /letsencrypt/certbot-auto renew --post-hook "systemctl reload nginx"

注意在cron job里面需要用絕對路徑

完結(jié)

簡單的六步,我們輕輕松松的就申請了證書,并給blog開啟了https訪問,還給證書設(shè)置了自動續(xù)期,嗯,多虧了certbot這個工具,相比起當初申請StarSSL的各種繁瑣,一切實在是來得太方便了。

后續(xù)

配置完以上信息以后,網(wǎng)站已經(jīng)可以使用https訪問,不出意外chrome瀏覽器訪問應該也能出現(xiàn)小綠鎖了。后續(xù)的話,也可以做一下以下優(yōu)化配置:

歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明出處!
獨立域名博客:flywill.cn
歡迎關(guān)注公眾微信號:Java小鎮(zhèn)V
分享自己的學習 & 學習資料 & 生活
想要交流的朋友也可以加微信號備注入群:EscUpDn

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容