我将dotnet mvc应用程序发布到了linux。我的应用程序运行不稳定。登录页面可以正确加载,但是当我尝试重新加载页面时,出现502 Bad Gateway错误。
这是nginx错误日志:
* 217上游过早关闭的连接,同时从上游读取响应标头,客户端:192.168.130.17,服务器: * 217上游过早关闭的连接,同时从上游读取响应标头,客户端:192.168.130.17,服务器: * 217上游在读取上游时过早关闭了连接,客户端:192.168.130.17,服务器:,请求: * 219上游过早关闭连接,同时读取上游,客户端:192.168.130.17,服务器:,请求:
我试图更改超时值。 我试图更改nginx的配置。
这是我的Nginx默认配置:
server {
listen 80;
# listen [::]:80;
allow 127.0.0.1;
location / {
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_send_timeout 90;
proxy_buffers 32 4k;
}
}
upstream dotnet {
zone dotnet 64k;
server 127.0.0.1:5000;
}
这是我的预留代理的dotnet应用代码:
app.UseForwardedHeaders(new ForwardedHeadersOptions{ ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto });
答案 0 :(得分:0)
几天前,我遇到了同样的问题。 就我而言,原因是Kubernetes配置文件中的缓冲区大小较小。 尝试将缓冲区大小增加到以下-
*
有关更详细的答案,请参阅以下链接-
希望这可以解决您的问题!