【问题标题】:dotnet core app not working well reserve proxy nginxdotnet 核心应用程序无法正常运行保留代理 nginx
【发布时间】:2020-01-19 22:55:47
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    http{
    ...
    proxy_buffer_size   128k;
    proxy_buffers   4 256k;
    proxy_busy_buffers_size   256k;
    large_client_header_buffers 4 16k;
    ...
    }
    

    更详细的答案,请参考以下链接 -

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

    希望这能解决您的问题!

    【讨论】:

    • 谢谢Aparna,但它对我不起作用。然后我尝试使用 Apache 作为代理服务器,但它也不稳定。由于此错误:警告:Microsoft.AspNetCore.Server.Kestrel[0] 连接处理异常结束。 System.Net.Sockets.SocketException (125):在 Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketAwaitableEventArgs 处取消操作。g__ThrowSocketException|7_0(SocketError e)
    猜你喜欢
    • 2018-07-17
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多