Linux.Centos使用LNMP一键安装包,安装LNMPA+Wordpress,解决网站301重定向次数过多和SSL安全访问设置小绿锁问题。
HTTPS替换掉HTTP链接
打开网站,怎么URL上的小锁不是现网站中普遍的绿色安全锁呢?
是因为此页面上还存在该域名下的非 https 链接,那么文章/页面内容中有些图片、CSS和JS等文件仍然是以 http 链接样式存在的。
因此,我们要将其全部改成 https 样式。
进入 phpMyAdmin 管理后台,选择目标数据库,在 SQL 里跑一下如下语句(别忘了把 eluyee.com 换成你自己的域名):
UPDATE wp_options SET option_value = replace( option_value, 'http://www.eluyee.com', 'https://www.eluyee.com' ); UPDATE wp_posts SET post_content = replace( post_content, 'http://www.eluyee.com/wp-content', 'https://www.eluyee.com/wp-content' );
LNMPA SSL安全设置
禁用 TLS 1.0 和 TLS 1.1
倘若提示 “This server supports TLS 1.0 and TLS 1.1. Grade will be capped to B from January 2020.”,则可选禁用 TLS 1.0 和 TLS 1.1 即可:
# vi /usr/local/apache/conf/extra/httpd-ssl.conf
Esc→Shift+?,找到 SSLProtocol all -SSLv2 -SSLv3 该行,行末添加 -TLSv1 -TLSv1.1,即 SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
再编辑Nginx配置文件:
# vi /usr/local/nginx/conf/vhost/eluyee.com.conf
Esc→Shift+?,找到
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
去掉 TLSv1 TLSv1.1 后如下:
ssl_protocols TLSv1.2 TLSv1.3;
注意:
如果你在主域名下还加载了其他域名的文件,例如我在www.eluyee.com下还加载了avatar.eluyee.com的头像文件,那么同样需要修改avatar.eluyee.com.conf。
SSL安全测试网站:https://www.ssllabs.com/ssltest/
HTTP全部301重定向到HTTPS
后面发现下面这步做了之后并不起效果(那么也可以不做)。所以跳过这一步。
—————————————————————————–
可使用FileZilla或其他工具编辑网站根目录下的 .htaccess 文件,在顶部添加如下代码:
# BEGIN Rewrite RewriteEngine On RewriteCond %{HTTP_HOST} ^eluyee.com [NC] RewriteRule ^(.*)$ https://www.eluyee.com/\ [R=301,L] # END Rewrite
保存之后,上传覆盖即可。
倘若访问提示“重定向次数过多”,也可设置仅跳转端口试试:
# BEGIN Rewrite RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.eluyee.com/\ [R=301,L] # END Rewrite
—————————————————————————–
后面发现上面这步做了之后并不起效果(那么也可以不做)。所以进行下一步→
还是编辑Nginx配置文件(所以这里的步骤可以和上面的一起做了)
# vi /usr/local/nginx/conf/vhost/eluyee.com.conf
使http链接访问301强制跳转到https
添加一句return 301 https://www.eluyee.com$request_uri;
server { listen 80; #listen [::]:80; server_name eluyee.com www.eluyee.com; return 301 https://www.eluyee.com$request_uri; index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/eluyee.com; #error_page 404 /404.html; # Deny access to PHP files in specific directory #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
然后,重启一下lnnp:
# lnmp restart
参考文章:https://lnmp.org/faq/lnmp-nginx-301-rewrite.html、https://www.seoimo.com/lamp-ssl/、https://www.cnitdog.com/nginx-disable-tls1-0-tls1-1.html