Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回“HTTP/1.1 405 Method not allowed”错误。
解决方案如下:
error_page 405 =200 @405;
location @405 {
proxy_method GET;
proxy_pass http://localhost:8090;
}
- proxy_method :
GET
将405
报错的method
改为GET
- proxy_pass:
http://localhost:8090
转发域名
上面案例本人亲测有效。
搜索发现,很多人的解决方式如下:
server {
listen 80;
server_name 域名;
location /{
root /www/文件目录;
index index.html index.htm index.php;
error_page 405 =200 http://$host$request_uri;
}
}
即加一句
error_page 405 =200 http://$host$request_uri;
但是博主测试时,并未能解决问题。405倒是没有了,但却发生了新问题,请求超时。如果哪位大拿路过,并且知道原因及解决方案,还请不吝赐教。