我可以访问一个dotnet核心应用程序运行在端口5001本地。然而,我得到坏网关时,通过公共ip访问反向代理配置。
我已将SSL应用于我的域,只有通过端口443的入站流量。server_nameunix.example.com
我错过了什么?
location / {
root /var/www/html/masterwebsite/publish/;
proxy_http_version 1.1;
proxy_set_header "Connection" "";
proxy_pass http://127.0.0.1:5001;
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_temp_file_write_size 64k;
proxy_connect_timeout 10080s;
proxy_send_timeout 10080;
proxy_read_timeout 10080;
proxy_buffer_size 64k;
proxy_buffers 16 32k;
proxy_busy_buffers_size 64k;
proxy_redirect off;
proxy_request_buffering off;
}
server_name _;
错误日志中的错误。
2019 - 04 - 29 00:00:00 [错误] 36703#36703:*1在从上游阅读响应报头时,上游过早关闭连接,客户端:86.18.44.49,server:unix.example.com,request:“GET /masterwebsite/ HTTP/1.1”,upstream:“http://127.0.0.1:5001/masterwebsite/“,
1条答案
按热度按时间ax6ht2ek1#
我自己想出来的。
线索在nginx日志中。
我希望代理指向的URL是
http://127.0.0.1:5001
但是在nginx日志中显示了这个
http://127.0.0.1:5001/masterwebsite/
附加位
/masterwebsite/
是问题所在。它发生是由于URL末尾缺少一个尾随斜杠
proxy_pass http://127.0.0.1:5001/;