Wordpress開啟全站HTTPS需要做的事
需要准備什么
SSL證書,可以通過 Let’s Encrypt 的免費SSL證書獲取。
獲取Certbot
Certbot 是一個簡單易用的 SSL 證書部署工具,由 EFF 開發,前身即 Let’s Encrypt 官方(Python)客戶端。簡單來說,certbot 就是一個簡化 Let’s Encrypt 部署,和管理 Let’s Encrypt 證書的工具。certbot的開源項目在GitHub上,所以,我們的第一步,是clone certbot項目到本地:
git clone https://github.com/certbot/certbot
申請證書
現在,可以通過腳本來申請證書了,以我的域名為例:
cd certbot./letsencrypt-auto certonly -d www.flywill.cn -d flywill.net
出現如下的證書申請與安裝界面:
選擇第二個選項,OK並繼續。界面會提示證書申請成功的信息,表示證書已經成功生成。
需要注意的是,在申請證書之前,如果本機有運行Nginx,需要先停掉。並確認本機的443端口能被公網所訪問
配置證書
申請好的證書,包含四個文件,默認會放在這里:
/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; #默認監聽80的HTTP端口;
listen 443 ssl; #確保Nginx監聽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簽發的,貨真價實。
如果網站能打開但是還是顯示不安全的鏈接,打開F12,console頁簽下會顯示有些資源文件事以HTTP形式加載的,需要去Wordpress后台修改,一般在這兩處地方修改就可以了。
其余文章內的鏈接可以通過這個SQL修改:
UPDATE wp_posts SET post_content = replace( post_content, 'http域名','https域名');
證書的自動續期
最后一步,就是證書的自動續期了。Let’s Encrypt的證書,默認的有效期是90天,不過官方推薦每60天續期。到期之后,我們需要用命令來為證書續期,不過我們是懶人,這種體力活還是交給機器來完成比較合適。所以,我們可以用Linux的cron job來完成這類的任務,配置cron job,每兩個月的第一天,執行下面的命令:
#minute hour day month day_of_week command 0 0 1 */2 * /letsencrypt/certbot-auto renew --post-hook "systemctl reload nginx"
注意在cron job里面需要用絕對路徑
完結
簡單的六步,我們輕輕松松的就申請了證書,並給blog開啟了https訪問,還給證書設置了自動續期,嗯,多虧了certbot這個工具,相比起當初申請StarSSL的各種繁瑣,一切實在是來得太方便了。
后續
配置完以上信息以后,網站已經可以使用https訪問,不出意外chrome瀏覽器訪問應該也能出現小綠鎖了。后續的話,也可以做一下以下優化配置:
- 建議可以做301重定向,將http地址跳轉到https地址;
- 啟用https網站打開速度可能會變慢,建議啟用緩存,例如wp super cache;
歡迎轉載,轉載請注明出處!
獨立域名博客:flywill.com
歡迎關注公眾微信號:Java小鎮V
分享自己的學習 & 學習資料 & 生活
想要交流的朋友也可以加微信號備注入群:EscUpDn