dotnet核心应用无法正常运行,请保留代理nginx

时间:2019-09-18 23:45:50

标签: nginx model-view-controller .net-core

我将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   });

1 个答案:

答案 0 :(得分:0)

几天前,我遇到了同样的问题。 就我而言,原因是Kubernetes配置文件中的缓冲区大小较小。 尝试将缓冲区大小增加到以下-

*

有关更详细的答案,请参阅以下链接-

https://medium.com/@mshanak/solve-nginx-error-signin-oidc-502-bad-gateway-dotnet-core-and-identity-serve-bc27920b42d5

希望这可以解决您的问题!