nginx 静态文件POST请求405问题解决

本文介绍了解决Nginx中静态文件访问时出现的POST405错误的方法,探讨了直接修改error_page指令可能导致的返回格式不一致问题,并推荐了一种更优的解决方案,即通过location匹配和proxy_pass指令将POST请求代理到后端服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,静态文件访问POST 405 Not Allowed

最简单的方法 : error_page 405 =200 $uri;

server {
     listen       80
     server_name  localhost;
     location / {
         root   html;
         index  index.html index.htm;
     }
     error_page  404     /404.html;
     error_page  403     /403.html;
     # To allow POST on static pages 允许静态页使用POST方法
     error_page  405     =200 $uri;
}

注意: 而使用此方法会出现返回不一致的问题,如这里应返回json文本,此处却是 html的文本,其原因就是因为请求的方式不一致,因返回格式不一致,导致前端报错.... xx..JSON>XXXX等等

建议使用下方办法:

location ~* ^/xxxxx/(.*)$ {
    proxy_pass http://abc.xxx.cn:81/$1;
    proxy_method POST;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

 

 

参考>>

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值