nginx 如何配置 https 强制跳 http

2018-05-10 16:19:11 +08:00
 yimaneilicj

因为业务需求,必须实现 https 跳到 http。。 求教。

4900 次点击
所在节点    NGINX
29 条回复
qcloud
2018-05-10 16:30:23 +08:00
不跳 https 不就行了
yimaneilicj
2018-05-10 16:32:06 +08:00
在 Safari 中有的时候会莫名其妙的加上··· 在 http 协议下下加载了 https 协议的资源是不是就会自动加上?
@qcloud
misaka19000
2018-05-10 16:32:12 +08:00
做个重定向不就行了
qcloud
2018-05-10 16:34:18 +08:00
@yimaneilicj 不会,如果 https 协议中有 http 链接会报错
rayc9223
2018-05-10 16:34:21 +08:00
listen 443 ssl;
rewrite ^ http://$http_host$request_uri? permanent;
laudukang
2018-05-10 16:42:41 +08:00
一页 50 条帖子,完全可以自行 Google 的问题占了其中一条
yongjing
2018-05-10 16:43:13 +08:00
server {
...
return 301 http://example.com$request_uri;
}
yimaneilicj
2018-05-10 16:44:23 +08:00
@laudukang 自行股沟了一番,最后没有找到合适的解决办法才来询问大家的。
yimaneilicj
2018-05-10 16:46:24 +08:00
@yongjing
@rayc9223
@qcloud
@misaka19000
很感谢回复,我再去试试,对 nginx 还不是很在行
yhxx
2018-05-10 16:47:32 +08:00
直接 return 一个 301 试试?
pexcn
2018-05-10 17:19:11 +08:00
301 重定向

```
server {
listen 80;
server_name <domain_name>;
return 301 https://$server_name$request_uri;
}

server {
listen 443 ssl http2;
server_name <domain_name>;

# ......
}
```
pexcn
2018-05-10 17:20:41 +08:00
看错了,应该是

```
server {
listen 443 ssl http2;
server_name <domain_name>;

# ......

return 301 http://$server_name$request_uri;
}

server {
listen 80;
server_name <domain_name>;

# ......
}
```
cpdyj
2018-05-10 17:22:44 +08:00
你的 HTTPS 是不是开了 HSTS ?
zjb861107
2018-05-10 17:23:04 +08:00
推荐可以参考这个: https://imququ.com/post/my-nginx-conf.html
yimaneilicj
2018-05-10 18:13:42 +08:00
@zjb861107 好的,多谢指点!
chinvo
2018-05-10 18:22:08 +08:00
什么业务需求这么奇葩
riyoukakan
2018-05-10 18:32:44 +08:00
if ($server_port ~ 443){
rewrite ^(/.*)$ http://$host$1 permanent;
}
yimaneilicj
2018-05-10 18:50:51 +08:00
@cpdyj 一语点醒梦中人。。。就是 nginx 在配置的时候加了 [add_header Strict-Transport-Security max-age=15768000;] 导致。。Safari 每次输入域名都会跳到 https 的协议,注释掉就好了。那么问题来了,之前带着这个 header 访问过 https 协议的浏览器中应该是存有这个 header 信息的吧,那么怎么清理掉呢?
sean328
2018-05-10 19:14:27 +08:00
做一个永久的 rewrite 就行,这个问题百度就可以解决吧
MonoLogueChi
2018-05-10 19:28:14 +08:00
@yimaneilicj 这个应该无解,等过期吧

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

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

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

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

© 2021 V2EX