gpt4 book ai didi

NGINX + Kestrel - 无法上传 multipart/formdata 中的文件

转载 作者:行者123 更新时间:2023-12-04 03:11:48 25 4
gpt4 key购买 nike

我有一个 .NET Core 应用程序,它有一个用于上传文件的表单。它在 IIS 中运行良好,但是当我在 Ubuntu 上部署到 Nginx(作为反向代理)时,文件上传超时或导致错误的网关错误。我看不出在哪里可以进一步调查问题,nginx 访问日志和 Kestrel 的输出不是很有帮助。

这是我的 nginx 配置,我怀疑它没有将数据传递给 Kestrel

location / {
proxy_pass http://dotnet;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Connection keep-alive;

令人沮丧的是,尽管给出了一个 504 并且需要 60 秒来完成一个小文件的上传操作,该文件仍然可以到达服务器。

我缺少什么 nginx 配置选项?我怀疑 kestrel 没有向 nginx 提供 http 响应。

最佳答案

回答我自己的问题。问题在于处理文件上传的 WebApi 的“保持事件”连接 header 。

我正在从事的项目使用 Websockets 和 WebApis。通常,这两件事不会在一起——websocket 代码需要一个持续的服务器连接(通过“keep alive” header ),而 webapi 则不需要。由于“keep alive” header ,WebApi 响应从未有过。我创建了一个规则,将 WebApi 流量视为正常的非“保持事件状态”,问题自行解决。

关于NGINX + Kestrel - 无法上传 multipart/formdata 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44614715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com