利用腾讯云搭建wordPress个人站(五)

注意,此文章内容都基于腾讯云服务进行描述。

域名申请以及DNS解析,HTTPS证书申领

此部分内容参考腾讯云官方文档,官方帮助文档写的非常详细。这里把对应传送门给出来。

域名购买,DNS解析,HTTPS证书申领。

此篇文章重点在https证书在nginx上的手动配置方面。

配置HTTPS证书到WordPress

官方文档对NGINX的配置过程说的不够详细,这里详细说明一下配置过程。首先下载对应的SSL证书文件到云服务器上。开通有SSH登录的可以使用winSCP这个软件进行文件的传输。注意,只用传输后缀为crt和key的两个文件。

然后在nginx的配置文件夹下新建文件夹cert,并将两个文件复制过去。

代码语言:shell
复制
sudo mkdir /etc/nginx/cert
sudo cp ~/path/to/ssl_folder/*.* /etc/nginx/cert/

这里,/path/to/ssl_folder/替换为为你自己上传的目录。然后配置对应的文件。

首先修改wordpress后台。在常规选项卡里面,将wordpress地址和站点地址修改为对应的域名地址。注意!此配置更新后可能会导致wordpress无法正常登录!请确保远程服务器能够正常SSL上去以防出现特殊情况。

下面对Nginx文件进行配置。首先修改/etc/nginx/sites-available/default文件,在service_name行下添加HTTPS强制跳转命令:

代码语言:javascript
复制
return 301 https://your_web_address$request_uri;

这里注意your_web_address替换为自己的域名。

然后此文件不要再进行改动了。后续的文件增添放置在另外的文件夹下。

在目录/etc/nginx/conf.d/文件夹下新建配置文件。此文件夹下的文件会自动更新生效。文件名任你喜欢,但是后缀应该为conf。这里我新建文件名称为ssl_config.conf。里面进行如下配置:

代码语言:text
复制
server {
	# SSL Listen Port
	listen 443 ssl http2;
	listen [::]:443 ssl http2;
# server_name
server_name your_web_address;
# ssl file name
ssl_certificate cert/your_web_address_bundle.crt;
# private certificate key file
ssl_certificate_key cert/your_web_address.key;
ssl_session_timeout 5m;
ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions
ssl_session_tickets off;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;

root /var/www/html;
index index.php index.html index.htm index.nginx-debain.html;

location ~* /xmlrpc.php { 
    	allow 127.0.0.1;  
    	return 403;       
}                         

	
location / {                                               
    	try_files $uri $uri/ =404;                         
}                                                          
                                                       
location ~ \.php$ {                                        
    	include snippets/fastcgi-php.conf;                 
    	fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;    
}

location ~ /\.ht {                                         
    	deny all;                                          
}                                                                                                       }

server {
listen 80;
server_name your_web_address;
location / {
return 301 https://hostrequest_uri;
}
}

注意需要把your_web_address替换成自己的域名。保存退出。

这里配置文件与default部分有很大相似,主要原因是Nginx对ssl端口也需要进行对应的设置,包括访问内容转发给PHP后台等。因此有大部分内容是相似的。

验证nginx配置,更新nginx配置。

代码语言:javascript
复制
sudo nginx -t
sudo systemctl reload nginx

更新后,应该可以正常访问网站。同时记得修改文章内容,所有引用图片地址都需要修改为HTTPS来确保目录正确。到此网站已经实现HTTPS加密了。

加密后使用浏览器点击可以看见访问连接已经完全加锁了。直接输入IP和直接访问http都会被强制跳转到对应https页面。对应wordpress站点应该可以正常使用了。

配置完成HTTPS后的效果

至此HTTPS配置到此结束。