Closed 450816775 closed 7 months ago
刚刚解决了这个问题,希望能有所帮助: 按 f12 查看网络情况,可以看到访问 API 会返回 502 错误
查阅 nginx 的Log可知,是上游返回了过大的 header:
查看项目根目录下的: docker/nginx.conf.example
:
server {
gzip on;
listen 80;
listen [::]:80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /index.html;
}
location @rewrites {
rewrite ^(.*)$ /index.html last;
}
location /api/ {
proxy_buffers 16 32k;
proxy_buffer_size 128k;
proxy_busy_buffers_size 128k;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Host $remote_addr;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:3000/;
}
}
其中 /api
写了 proxy_buffers之类的参数,所以我们只需要将这些参数统统复制到 host 机器上面的 nginx 就好了,如下:
# .......
location / {
proxy_pass http://localhost:1234/;
proxy_buffers 16 32k;
proxy_buffer_size 128k;
proxy_busy_buffers_size 128k;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Host $remote_addr;
proxy_set_header X-NginX-Proxy true;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# .......
最后再在host机器上面执行:sudo nginx -s reload
非常感谢你的帮助!!
你好大佬,我是用了群晖7.2最新的webstation,它的网页服务可以把容器端口监听过来,然后群晖80/443端口转出,这样可以设置二级域名方案或者名称xx.top/xxx这样的形式。但是这样部署登录时提示502错误,群晖日志显示也是502,感觉是配置文件的问题,但是webstation重启后对应网站的nginx配置文件直接消失了,想请教下有什么方案处理吗(不重新编译群晖nginx)
反馈 bug 需要的信息
用Docker部署的网页版(fogforest/yesplaymusic)
部署在群晖NAS中,设置了反向代理,能通过HTTPS域名+端口访问
在内网通过http+ip+端口访问的时候,一切正常,可以正常扫码登录
在外网通过https+域名+端口访问的时候,无法正常扫码登录。扫码成功后,网页会显示二维码已过期,然后需要重新扫码,无法登录。看下来似乎/api不支持通过https反向代理来登录。
大家有遇到类似的情况吗?都是怎么解决的?