检测到您启用了Adblock等屏蔽广告扩展,导致正常的内容图片无法显示,为了不影响阅读体验,建议您将www.xiaoz.me加入白名单。

Nginx强制https,HTTP 301重定向到HTTPS

全站启用https让您的网站更安全,但是在过程中总会遇到一些麻烦,分享这篇文章希望对需要的童鞋有帮助,我们不需要去过多的修改程序设置,直接在WEB服务器(Nginx)中配置一下,将80端口(HTTP)全部301重定向到HTTPS,目前小z博客就是使用的这个方法。

nginx_580

一、前提条件

此方法仅适用于Nginx WEB服务,推荐安装军哥LNMPOneinStack,自己编译安装的Nginx也是可以的。

二、修改主机配置文件

军哥LNMP或OneinStack的配置文件在/usr/local/nginx/conf/vhost/youdomain.com.conf,将下面的配置添加到文件中。

1
2
3
4
5
6
server
{
        listen 80;
        server_name xiaoz.me www.xiaoz.me;
        rewrite ^(.*) https://www.xiaoz.me$1 permanent;
}

上面的配置含义是当我们去使用HTTP请求xiaoz.me或www.xiaoz.me的时候全部301重定向到https://www.xiaoz.me,下面是完整的配置文件供参考:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
server {
listen 443;
ssl on;
ssl_certificate /data/ssl/xiaoz.me.crt;
ssl_certificate_key /data/ssl/xiaoz.me.key;
server_name xiaoz.me www.xiaoz.me;
index index.html index.htm index.php;
...
...
}
 
server
{
        listen 80;
        server_name xiaoz.me www.xiaoz.me;
        rewrite ^(.*) https://www.xiaoz.me$1 permanent;
}

配置修改后别忘记重载一下Nginx:service nginx reload

三、CURL测试

最后我们可以测试下访问HTTP是否会301重定向到HTTPS,可以使用CURL测试一下:curl -I www.xiaoz.me,Nginx配置SSL的教程可以参考:Nginx怎样部署SSL证书

curl_test

推荐阅读:
CentOS申请Let’s Encrypt免费SSL证书
沃通免费SSL证书申请

19 Comments

发表评论

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