小樱 发表于 2016/9/20 15:01

kangle使用url_rewrite重写模块,任意域名强制网站跳转https访问,http2篇

2016年10月20日 00:45:49 更新教程

scheme 浏览器 都会发送这个头部么,我测了谷歌浏览器,IE浏览器都会发送,(我查了,scheme这个参数,只有h2状态下才有,CDN是http1.1的就不能用了,没有效果)那么就可以用以下方法解决同时使用CDN的问题,如何还有问题的话那就用js控制浏览器跳转吧。


匹配模块header,勾选非,代表www.itzmx.com这个域名非https的就执行标记模块
scheme
https

请求控制标记模块url_rewrite,把http的请求301重写到https上



http://(.*)
https://$1
代码301

建议加个匹配模块listen_ports 端口80
不然3312端口什么都跳转了(注,用了scheme应该就不用加这个listen_ports 匹配模块了)


建议配合hsts来做:http://bbs.itzmx.com/thread-11952-1-1.html

单个域名跳转看:http://bbs.itzmx.com/thread-13666-1-1.html

uddd 发表于 2020/8/19 17:13

启用后,打开网页显示“该网页无法正常运作” 好像是重定向太多了,但是我源机没开强制https,最外面套的cdn也没开跳转https

小樱 发表于 2020/8/19 17:22

uddd 发表于 2020/8/19 17:13
启用后,打开网页显示“该网页无法正常运作” 好像是重定向太多了,但是我源机没开强制https,最外面套的cd ...

检查下php代码是不是有跳转

uddd 发表于 2020/8/19 17:37

本帖最后由 uddd 于 2020/8/19 17:41 编辑

小樱 发表于 2020/8/19 17:22
检查下php代码是不是有跳转

PHP源码没有跳转,我刚才把先头部分(强制域名跳转https的设置删除了,)只保留了HSTS,可以正常访问网站,,,,{:1342:}

uddd 发表于 2020/8/19 17:38

小樱 发表于 2020/8/19 17:22
检查下php代码是不是有跳转

以前我把这个强制域名跳转HTTPS的设置跟其他设置写在一起的,很多规则写在一起,一大页,今天把他们删了重新分开写之后,网站就不行了,之前是可以用的

小樱 发表于 2020/8/19 17:50

uddd 发表于 2020/8/19 17:37
PHP源码没有跳转,我刚才把先头部分(强制域名跳转https的设置删除了,)只保留了HSTS,可以正常访问网 ...

你可以先把备份,然后规则全删了,通过F12抓包观察有没有301和302现象

uddd 发表于 2020/8/19 18:03

小樱 发表于 2020/8/19 17:50
你可以先把备份,然后规则全删了,通过F12抓包观察有没有301和302现象

看了木有301和302.。。。。。。以前我把这个强制域名跳转HTTPS的设置跟其他设置写在一起的,很多规则写在一起,一大页,今天把他们删了重新分开写之后,网站就不行了,之前是可以用的

小樱 发表于 2020/8/19 18:04

uddd 发表于 2020/8/19 18:03
看了木有301和302.。。。。。。

是不是307?你用了hsts的话会被浏览器强制307,先清理下浏览器hsts记录

uddd 发表于 2020/8/19 18:06

小樱 发表于 2020/8/19 18:04
是不是307?你用了hsts的话会被浏览器强制307,先清理下浏览器hsts记录

电脑测了,手机也测了,同样的,都没有,因为以前把规则都写在一起的时候是没有问题的,今天拆分出来写就不行了

小樱 发表于 2020/8/19 19:20

uddd 发表于 2020/8/19 18:06
电脑测了,手机也测了,同样的,都没有,因为以前把规则都写在一起的时候是没有问题的,今天拆分出来写就 ...

那就不知道了,,,可能你的规则比较复杂,得一个个规则去查是什么问题了,看哪个规则引起的
页: [1]
查看完整版本: kangle使用url_rewrite重写模块,任意域名强制网站跳转https访问,http2篇