WordPress MU Wildcard

如何在 WordPress MU 子域名模式下啟用 SSL 證書

Written by

WordPress MU (Multisite) 是一個多部落格或網站的系統架構,從 3.0 版開始直接整合到 WordPress 之中,換句話說,以前一個 WordPress 只能創建一個部落格或網站,Multisite 功能就可以透過一個 WordPress 產生 N 個部落格或網站,只要一個域名,就能達到多人來使用 WordPress 建置自己的部落格或網站

現在 SSL 加密證書成為主流,為一般的 WordPress 網站加上證書並非難事,如果是要在 WordPress MU 網站上加上 SSL 證書,而使用者申請一個新網誌後就能馬上使用,我就用 EasyEngine 的 Nginx 配置來說明。

WordPress MU 設置

WordPress MU (Multisite) 可設置 2 種多個部落格或網站模式,需要的 SSL 證書也不同

  • WordPress Multisite with subdirectory 子目錄模式:例如,網站型態為 example.com / blog,這種多網站模式只要一般的 DV 一個域名證書,或使用免費的 Let’s Encrypt SSL 證書。
  • WordPress Multisite with subdomain 子域名模式:例如,網站型態為 blog.example.com,這種多網站模式需要購買 Wildcard 通配 (泛域名) SSL 證書。

由上述的解釋,可以知道如需使用 WordPress MU 來建站,你要的模式與 SSL 證書。

WordPress MU 證書

如何為 WordPress MU 加上證書,而且每一個子域名也都有 SSL 證書

購買 Wildcard SSL 證書時,生成 CSR 文件時,輸入域名時,請填入 .domain.com,因為這是「根域名 + 無限個子域」證書,所以你的域名前面要加上「*」萬用字元。

1. DNS 的設置:

DNS 設置域名 A 紀錄指向你的主機,及一個萬用字元的別名,如下圖:

SSL Wildcard 通配證書的 DNS

2. 將購買好的證書合併後 (example.com.crt 及 example.com.key) 上傳到 var / www / example.com /cert

3. 將 ssl.conf 文件上傳到 var / www / example.com / conf / nginx

listen 443 ssl http2;
ssl on;
ssl_certificate     /var/www/example.com/cert/example.com.crt;
ssl_certificate_key     /var/www/example.com/cert/example.com.key;

4. 修改 etc / nginx / cong.d / force-ssl-example.com.conf (http to https 301 重定向配置)

server {
	listen 80;
	server_name .example.com;
	return 301 https://$host$request_uri;
}

5. 重啟 nginx

nginx -t && service nginx restart

當使用者或會員申請網址後,信箱驗證後就能馬上使用有 SSL 證書的子網域網站。

WordPress MU 測試網站:

hsuan.li 網站測試

參考文件:

Rewriting wildcard domain with HTTPS

https://stackoverflow.com/questions/41158002/rewriting-wildcard-domain-with-https

hosted by kinsta

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Your Mastodon Instance