本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme
全站启用https让您的网站更安全,但是在过程中总会遇到一些麻烦,分享这篇文章希望对需要的童鞋有帮助,我们不需要去过多的修改程序设置,直接在WEB服务器(Nginx)中配置一下,将80端口(HTTP)全部301重定向到HTTPS,目前小z博客就是使用的这个方法。
一、前提条件
此方法仅适用于Nginx WEB服务,推荐安装军哥LNMP或OneinStack,自己编译安装的Nginx也是可以的。
二、修改主机配置文件
军哥LNMP或OneinStack的配置文件在/usr/local/nginx/conf/vhost/youdomain.com.conf
,将下面的配置添加到文件中。
server
{
listen 80;
server_name xiaoz.me www.xiaoz.me;
rewrite ^(.*) https://blog.xiaoz.org$1 permanent;
}
上面的配置含义是当我们去使用HTTP请求xiaoz.me或www.xiaoz.me的时候全部301重定向到https://blog.xiaoz.org,下面是完整的配置文件供参考:
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://blog.xiaoz.org$1 permanent;
}
配置修改后别忘记重载一下Nginx:service nginx reload
三、CURL测试
最后我们可以测试下访问HTTP是否会301重定向到HTTPS,可以使用CURL测试一下:curl -I www.xiaoz.me
,Nginx配置SSL的教程可以参考:Nginx怎样部署SSL证书。
推荐阅读:CentOS申请Let’s Encrypt免费SSL证书
沃通免费SSL证书申请
博主,你好。曾尝试过rewrite方式,但将您重定向的次数过多,一直未能解决,所以就用页面来做跳转了。
请问作者:
如果想过滤某一目录怎么写,比如过滤目录名为“KKK”,怎么写规则呢?
过滤目录您是指的某个目录不要强制HTTPS吗?
是的,比如有一个目录KKK,这个目录不强制HTTPS
抱歉,暂时还没有实现过,不过您可以网上搜索一下。
请问怎样将https://xiaoz.me/ 的全部网址重定向到 https://www.xiaoz.me/ ?我也是按你教程那样设置,最多只能把http的域名都重定向到https://www.xiaoz.me/ ,但访问https://xiaoz.me/时,没有任何跳转
我只做了下面的就可以了,注意看server_name需要把www和不带www都填写上。
htaccess怎么写啊
您好,如果是.htaccess文件可以加入下面的规则:
谢谢,但是这样的话,a.com是跳转到https://a.com而不是https://www.a.com
那您再加入一条这样的试试呢:
谢谢,这样就可以了。
下面的没有回复按钮,就在这回复了。
nginx 1.1.20版本上https://www.domain.com to https://domain.com行不通。
为什么我很讨厌https,不知道为什么。虽然我喜欢加密。
一直想要上https 但是使用的七牛貌似对https支持的不是很好
现在七牛支持https哒,我的博客静态资源全部走的七牛。没什么问题
多谢,我会试着去做。
百度移动优化中说如果采用了SSL建议做301定向。
期待部落早点上https