前言
浏览器上那个绿色的小锁,想要。
1. 购买SSL证书
Let's Encrypt、阿里云、腾讯云、又拍云等,都有提供免费证书的申请接口。目前在使用阿里云免费的赛门铁克的证书。
2. 设置服务器
1. 配置nginx
将证书文件xxxx.pem
xxxx.key
上传到服务器
修改nginx配置文件添加下面部分
server {
listen 80;
listen [::]:80;
server_name xx域名xx;
#http自动跳转https
return 301 https://$server_name$request_uri;
}
server {
#顺道打开http2,对于速度有 提升
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
root /xxxx/wordpress; #wordpress位置
server_name xx域名xx;
index index.php index.html index.htm;
ssl_certificate /xxxx.pem; #证书位置
ssl_certificate_key /xxxx.key; #私钥位置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_prefer_server_ciphers on;
}
nginx重载
nginx -s reload
2. 修改wp-config.php
(不为必须)
添加代码
$_SERVER['HTTPS'] = 'ON'; //设置Wordpress全站开启HTTPS。
在下列代码之前
/* That's all, stop editing! Happy publishing. */
/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', dirname( __FILE__ ) . '/' );
}
3. 修改地址
进入网站后台 设置->常规
修改WordPress地址(URL)和站点地址(URL)前缀http为https
3. 配置中出现的问题
1. wp后台样式不加载
Nginx 的 fastcgi_buffers
有限,导致无法正常加载 wp 后台所需的文件。
<link rel='stylesheet' href='http://free-e.xv/wp-admin/load-styles.php?c=0&dir=ltr&load%5B%5D=dashicons,admin-bar,common,forms,admin-menu,dashboard,list-tables,edit,revisions,media,themes,about,nav-menus,widgets,site-icon,&load%5B%5D=l10n,buttons,wp-auth-check,media-views&ver=4.8' type='text/css' media='all' />
在nginx.conf
的http{}加入:
fastcgi_buffers 8 64k;
2. nginx 出现413 Request Entity Too Large
nginx配置中设置的可上传的最大文件限制过小。
在nginx.conf
的http{}段中加入
client_max_body_size 20m; #20m为最大上传文件大小
同时也修改php.ini
中upload_max_filesize
和 post_max_size
数值为20m
Comments | NOTHING