cloudflare 提供的免费 https 怎样设置才能强制所有 http 重定向到 https

2016 年 4 月 26 日
 miao
我 vps debian 安装的 amh.sh 4.2 版.

Nginx 1.4.4
MySQL 5.5.34
PHP 5.3.27

域名使用 cloudflare 免费版,
请问如何 设置 cloudflare 或者自己 vps 的 Nginx 配置
让一个域名, 如下三种形式
http://example.com/*
http://www.example.com/*
https://example.com/*

全部 301 跳转到 下面一种 url
https://www.example.com/*

试过了 下面代码进入死循环
if ($scheme = http ) {
return 301 https://$host$request_uri;
}
16810 次点击
所在节点    SSL
19 条回复
ivmm
2016 年 4 月 26 日
怎样设置才能强制所有 https 重定向到 https

应该是

怎样设置才能强制所有 http 重定向到 https

crystom
2016 年 4 月 26 日
if is evil
miao
2016 年 4 月 26 日
@ivmm 是的. 已经修改
miao
2016 年 4 月 26 日
@crystom what is it mean
Pastsong
2016 年 4 月 26 日
用 js 或者 meta refresh
miao
2016 年 4 月 26 日
@Pastsong 这个不可取. 但是还是谢谢了
Slienc7
2016 年 4 月 26 日
CF 后台自带功能,说明文档里面也有。
h404bi
2016 年 4 月 26 日
用 cloudflare 自带的 Page Rules 。
kslr
2016 年 4 月 26 日
我也想知道有没有办法可以在 cloudflare 上直接重定向到 HTTPS 上,因为刚刚我发现我家的 443 端口可以使用,服务器也已经在路上了
wxunm60tAn8bODGs
2016 年 4 月 26 日
1 、 http://*[your domain]/* Always use HTTPS

2 、 htts://[your domain]/+ Forward URL 301/302

TO:https://www.[your domain]/+

注意规则生效顺序 1 至 2
wxunm60tAn8bODGs
2016 年 4 月 26 日
第二条 https :// 打错了。
wxunm60tAn8bODGs
2016 年 4 月 26 日
以上效果是该域名所有链接使用 https

将裸域***.COM 定向到 www.***.COM ,包括***.COM 下所有目录
alect
2016 年 4 月 26 日
除了上面说的方法还可以在自己的服务器上写规则跳转啊。。
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R]
miao
2016 年 4 月 26 日
@mrjoel @h404bi
谢谢您二位, 我这样设置 是否是正确的? 目测我的站可以 301 跳转了.

@h404bi 您的三条规则 打码太多了, 看不大清楚

@alect 谢谢您, 我试了您的代码, 还是会无限 301 死循环, 因为我的 vps 没有加密

意思是, 用户 https --> cloudflare --> http --> 我的 vps, 所以自己 vps 设置规则,总是无限 301 死循环
h404bi
2016 年 4 月 26 日
@miao 每个人的需求不一样,规则就不同了,打码看不清没关系。
你需要带 www 的 url ,先把 http://www.example.com/* 强制用 https (如果除了 www 子域其它也要的话就用 http://*.example.com/*)
然后将 http://example.com/*https://example.com/* 重定向到 https://www.example.com/$1 应该就可以了。
oott123
2016 年 4 月 26 日
if ( $http_x_forwarded_proto != 'https' ) {
return 301 https://$host$request_uri;
}
此贴终结……
Zohar
2016 年 4 月 26 日
本人小白,大神轻喷。
https://www.iwch.me/archives/623.html
JJaicmkmy
2016 年 4 月 26 日
直接在 Cloudflare 开启 HSTS 即可,何必这么麻烦的跳转。
miao
2016 年 4 月 27 日
@JJaicmkmy 开启了 HSTS , ssl 评分就到 A+了. 谢谢你

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/274533

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX