LNMPA强制重定向到HTTPS,设置绿锁SSL安全访问

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;
LNMPA强制重定向到HTTPS,SSL安全设置

注意:

如果你在主域名下还加载了其他域名的文件,例如我在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/$1 [R=301,L]
# END Rewrite

保存之后,上传覆盖即可。

倘若访问提示“重定向次数过多”,也可设置仅跳转端口试试:

# BEGIN Rewrite
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.eluyee.com/$1 [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; }
LNMPA强制重定向到HTTPS,Nginx设置

然后,重启一下lnnp:

# lnmp restart

参考文章:https://lnmp.org/faq/lnmp-nginx-301-rewrite.htmlhttps://www.seoimo.com/lamp-ssl/https://www.cnitdog.com/nginx-disable-tls1-0-tls1-1.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部