因为业务需求,必须实现 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 1
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 1
你的 HTTPS 是不是开了 HSTS ?
|
14
zjb861107 2018-05-10 17:23:04 +08:00 1
|
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 2
@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 1
@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 ?凉了。换域名吧
|