Nginx 能通过 upgrade 将 Http 请求升级到 Https 么

2018-05-09 17:20:15 +08:00
 FlyTact1c

wikipedia 上说 upgrade 可以 Use with TSL,有大佬弄过么?

https://en.wikipedia.org/wiki/HTTP/1.1_Upgrade_header#Use_with_TLS

7686 次点击
所在节点    NGINX
6 条回复
ivyliner
2018-05-09 18:56:53 +08:00
一般 upgrade 用在 websocket 和 HTTP/2 比较多.
http 要转换为 HTTPS, 直接在 nginx 301 跳转就可以了.
myyou
2018-05-09 19:12:59 +08:00
websocket 不支持 http2
这是我的配置可以参考一下
```
server {
listen 443 ssl http2;
server_name your.example.com; # 域名
charset utf-8;

# 以下 ssl 目录根据实际情况进行调整
ssl_certificate /work/ssl/chained.pem;
ssl_certificate_key /work/ssl/domain.key;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;

add_header X-UA-Compatible "IE=edge,chrome=1"; # IE 用最新内核渲染页面

client_max_body_size 50M;

location / {
proxy_pass http://127.0.0.1:8000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect default;
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
}
}
```
gamexg
2018-05-09 20:06:41 +08:00
没浏览器支持这个吧。
Judoon
2018-05-09 20:15:40 +08:00
没试过,为什么不用 HSTS
msg7086
2018-05-10 06:35:43 +08:00
好像没见过有浏览器支持这个。为什么要在 80 端口上跑 HTTPS ?
KuroNekoFan
2018-05-10 09:39:12 +08:00
hsts 了解一下

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

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

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

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

© 2021 V2EX