申請Letsencrypt 憑證
由於這邊是使用ubuntu 20.04,所以會直接使用下面的指令來安裝certbot
sudo apt install certbot python3-certbot-nginx
接下來,再使用certbot來申請由Letsencrypt發放的憑證。
下面的指令,我們透過certbot 申請了一組wildcard certificate,其中為了證明這個網域是我們所有的,我們必須完成一組ACME挑戰!
sudo certbot certonly --preferred-challenges dns --manual -d '*.gechen.xyz' --server https://acme-v02.api.letsencrypt.org/directory
在完執行完上述的指令以後,terminal上應該會出現一串字串,而且我們要做就是將那字串新增至DNS TXT Record,並在設定TXT Record設定完成以後,繼續certbot的申請流程。
一切順利的話,certbot 會將申請到的憑證安裝至指定的路徑下,並且有三個月的效期,三個月後我們還得再重新申請效期的延長
/etc/letsencrypt/live/gechen.xyz/
升級Wordpress以使用https
接下來要做的更改Nginx的設定檔以使用我們新申請的憑證
server {
listen 80;
listen [::]:80;
server_name blog.gechen.xyz;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name blog.gechen.xyz;
index index.php;
root /var/www/html/wordpress;
ssl_certificate /etc/letsencrypt/live/gechen.xyz/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gechen.xyz/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# ssl_trusted_certificate /etc/letsencrypt/live/gechen.xyz/fullchain.pem;
client_max_body_size 100M;
error_log /var/log/nginx/secure_ssl_error.log;
access_log /var/log/nginx/secure_ssl_access.log;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
更新Wordpress的網址
這邊可以直接參考之前設定Wordpress的相關步驟來設定新的https的網址