各位大佬, https 请求变成 http?

2021-03-23 14:34:39 +08:00
 zuoban

如下图:发的是 https 请求,提示返回 501,错误提示 url 变成了 http 。

location /api/ {
     proxy_pass http://localhost:8080/;
 }

2696 次点击
所在节点    NGINX
17 条回复
bleepbloop
2021-03-23 14:41:48 +08:00
body 太大超过 nginx client_max_body_size 了?
xmumiffy
2021-03-23 14:46:38 +08:00
返回的 url 是你们程序自己写的 和实际请求没关系
zuoban
2021-03-23 14:48:34 +08:00
@bleepbloop 感谢您的回复,body 是`{"status":false}` ,应该不是这个问题。
xuanbg
2021-03-23 14:49:12 +08:00
改成 proxy_pass https://localhost:8080/;

然后问题变成接口怎么支持 https 的问题。。。不过,楼主你的错误是接口不支持 put 方法啊
zuoban
2021-03-23 14:50:40 +08:00
@xmumiffy 这具是 nginx 自带的错误页面,请求没到我服务端。
bleepbloop
2021-03-23 14:51:45 +08:00
@zuoban 那还是抓个包,并且从服务端 debug 吧
zuoban
2021-03-23 14:54:45 +08:00
@xuanbg 感谢您的回复,接口支持 PUT 方法。server 没配置 https 之前是正常的。我也觉得有可能是 https 代理成 http 的问题。
Jblue
2021-03-23 14:56:34 +08:00
你这个 location 不是没命中么?
Vegetable
2021-03-23 15:00:40 +08:00
这 location 是 api,图是是 admin-api,这也在你的计划之中吗
zuoban
2021-03-23 15:09:21 +08:00
@Jblue 线上配置的是 admin-api,这里是手写的配置,写错了。抱歉。
zuoban
2021-03-23 15:10:54 +08:00
@Vegetable 是这边也错了。没命中的话也应该是 404 吧。
cslive
2021-03-23 16:32:31 +08:00
nginx 配 https 了吗
ysc3839
2021-03-23 18:20:10 +08:00
@zuoban 这怎么看都不像是原版 nginx 的错误页面,尤其是那个 Reference 。
wei745359223
2021-03-23 18:22:06 +08:00
设置下这几个参数试试
```
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-Host $host;
```
Jirajine
2021-03-23 18:39:39 +08:00
换 caddy
zuoban
2021-03-24 10:03:05 +08:00
@ysc3839 还真不是,多亏你提醒,看了下响应头发现 server 是 AkamaiGHost 。找到原因了,是 CDN 那边配置问题。谢谢大佬
zuoban
2021-03-24 10:03:50 +08:00
找到原因了,CND 配置问题,谢谢各位。

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

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

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

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

© 2021 V2EX