
因为业务需求,必须实现 https 跳到 http。。 求教。
1 qcloud 2018-05-10 16:30:23 +08:00 via iPhone 不跳 https 不就行了 |
2 yimaneilicj OP 在 Safari 中有的时候会莫名其妙的加上 在 http 协议下下加载了 https 协议的资源是不是就会自动加上? @qcloud |
3 misaka19000 2018-05-10 16:32:12 +08:00 做个重定向不就行了 |
4 qcloud 2018-05-10 16:34:18 +08:00 via iPhone @yimaneilicj 不会,如果 https 协议中有 http 链接会报错 |
5 rayc9223 2018-05-10 16:34:21 +08:00 listen 443 ssl; rewrite ^ http://$http_host$request_uri? permanent; |
6 laudukang 2018-05-10 16:42:41 +08:00 一页 50 条帖子,完全可以自行 Google 的问题占了其中一条 |
7 yongjing 2018-05-10 16:43:13 +08:00 |
8 yimaneilicj OP @laudukang 自行股沟了一番,最后没有找到合适的解决办法才来询问大家的。 |
9 yimaneilicj OP |
10 yhxx 2018-05-10 16:47:32 +08:00 直接 return 一个 301 试试? |
11 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>; # ...... } ``` |
12 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>; # ...... } ``` |
13 cpdyj 2018-05-10 17:22:44 +08:00 via Android 你的 HTTPS 是不是开了 HSTS ? |
14 edsion996 2018-05-10 17:23:04 +08:00 |
15 yimaneilicj OP @zjb861107 好的,多谢指点! |
16 chinvo 2018-05-10 18:22:08 +08:00 via iPhone 什么业务需求这么奇葩 |
17 riyoukakan 2018-05-10 18:32:44 +08:00 if ($server_port ~ 443){ rewrite ^(/.*)$ http://$host$1 permanent; } |
18 yimaneilicj OP @cpdyj 一语点醒梦中人。。。就是 nginx 在配置的时候加了 [add_header Strict-Transport-Security max-age=15768000;] 导致。。Safari 每次输入域名都会跳到 https 的协议,注释掉就好了。那么问题来了,之前带着这个 header 访问过 https 协议的浏览器中应该是存有这个 header 信息的吧,那么怎么清理掉呢? |
19 sean328 2018-05-10 19:14:27 +08:00 做一个永久的 rewrite 就行,这个问题百度就可以解决吧 |
20 MonoLogueChi 2018-05-10 19:28:14 +08:00 via Android @yimaneilicj 这个应该无解,等过期吧 |
21 paranoiagu 2018-05-10 19:37:30 +08:00 via Android @yimaneilicj 清客户端缓存即可。 |
22 oh 2018-05-10 19:57:21 +08:00 via iPhone @yimaneilicj 加个 Strict-Transport-Security max-age=0 看看能不能覆盖掉 |
23 yimaneilicj OP |
24 yimaneilicj OP @chinvo 前端人员说 https 和 http 两种协议下,在 local 什么的本地存储中数据不能共用。 |
25 chinvo 2018-05-10 20:20:17 +08:00 via iPhone @yimaneilicj #24 那全跳去 https 啊 |
26 owt5008137 2018-05-10 21:34:18 +08:00 via Android if ($scheme = https) { return 301 http://$server_name$request_uri; } |
27 pandago 2018-05-10 21:34:25 +08:00 via iPhone @yimaneilicj localstorage 跨域 |
28 IvanLi127 2018-05-11 12:50:58 +08:00 via Android @yimaneilicj 凉了 叫访问过的人都清理下浏览器吧。。。 |
29 zhuweiyou 2018-05-11 14:13:49 +08:00 开了 HSTS ?凉了。换域名吧 |