首页 > 解决方案 > NGINX 反向代理中的 .Net 核心 POST API 引发错误 404

问题描述

这是我第一次发布问题。如果我遗漏了需要分享的内容,请告诉我。

我正在尝试通过我的 C# APP 和 API(单独构建)将一些数据发布到数据库中,但它仅针对 POST API 引发错误 404。所有其他页面都可以正常工作,GET 请求也是如此。该应用程序和 API 已通过 NGINX 反向代理服务器部署在 LINUX 机器上。它们都适用于 HTTP 协议。该功能适用​​于 localhost,但不适用于依赖 IP 的 URL。

这是应用程序服务文件的内容,我不知道其中缺少什么。请注意“/”以及任何需要的地方。在执行 RnD 时,我发现 NGINX 中的 POST 请求被重定向到 GET,我不知道这是否有帮助,但感觉就像分享。

server {
listen      myIP:6002;
server_name attendancepp;
root        /home/user/net-core/Publish/AttendanceModule/AttendanceApp;
location /AttendanceApp/{
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_pass      http://myIP:6002/;
            proxy_set_header Accept-Encoding "";
            proxy_cache_bypass      $http_upgrade;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_redirect off;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

}

该应用程序在 URL http://myIP:6002/attendance/allPages 上运行。所有页面都可以毫无问题地访问。只是 POST 部分不起作用。

先感谢您。

标签: asp.net-mvcasp.net-coreasp.net-web-apihttp-status-code-404nginx-reverse-proxy

解决方案


评论后工作正常

try_files $uri $uri/ =404
  1. cd /etc/nginx/sites-available/
  2. 须藤纳米默认 << nginx
  3. 编辑文件然后 CTR+X 和 'y' 是
  4. sudo systemctl 重启 nginx

推荐阅读