利用meta实现http到https的强制跳转 (省服务器资源)
不论是利用nginx伪静态重写,还是利用nginx497 都会相当耗费服务器资源。下面讲述一种相对省服务器资源的方式:
1.首先建立一个index.html (由于主机拦截,代码只能贴成图片,你可查看 http://zuohuadong.lofter.com/post/24231d_931e51a)http://i12.tietuku.com/4acec22284f5da59.png
2.若网站目录为 /home/wwwroot/www.ibenchu.com在网站目录下新建 meta目录 将index.html放进去
3.配置nginx主机conf (一般在/usr/local/nginx/conf/vhost)server
{
listen 80;
server_name www.ibenchu.com;
location / {
#index.html放在虚拟主机监听的根目录下
root /home/wwwroot/www.ibenchu.com/meta;
}
#将404的页面重定向到https的首页
error_page404 https://www.ibenchu.com/;
}
server
{
listen 443 ssl http2;
#listen [::]:443 ssl http2;
ssl_certificate /etc/letsencrypt/live/www.ibenchu.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.ibenchu.com/privkey.pem;
#listen [::]:80;
server_name www.ibenchu.com;
index index.html index.htm index.php default.html default.htm default.php;
root/home/wwwroot/www.ibenchu.com;
include dayin.conf;
#error_page 404 /404.html;
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
access_log off;
}改掉www.ibenchu.com即可,伪静态 修改 dayin.conf
以上配置文件需要根据具体情况酌情修改
如果主机不支持https 或者 不支持 http2 请看:https://bbs.vpser.net/thread-13009-1-1.html
此方法占用服务器资源少,问题在于 访问 http://xxx.com/sss 时 会被直接跳转到 https://xxx.com
[ 本帖最后由 依剑听雨 于 2015-12-9 03:31 编辑 ] 用这个还不如直接用HSTS吧
回复 2# 的帖子
HSTS 只能chrome浏览器 用户端进行设置么?回复 3# 的帖子
HSTS是强制的不需要用户设置,只是服务器端需要加Strict-Transport-Security字段https://www.vpser.net/build/letsencrypt-free-ssl.html 里有说明
ie11以上支持,chrome、firefox、safari等主流版本早已经支持
页:
[1]