您的位置:首页 > 运维架构 > Nginx

nginx 405 not allowed

2018-01-15 15:21 441 查看
Nginx 是不允许静态文件 响应 post 请求的,否则会返回 405

你可以测试随便创建一个 html 文件,或者图片等其它静态文件。

然后通过命令行

curl -d 1=1 http://xxx.com/1.html 来进行测试

也可以直接写一个 form 表单 post 到这个静态文件 进行测试。

解决办法:

找到 nginx 的web 配置文件 .conf

添加:

法一:

error_page 405 =200 http://xxx.com; #直接强制跳转到别的 url

法二:

error_page 405 =200 @405;

location @405{

# root /home/wwwroot/test; #也可以同时修改 root

proxy_method GET; # 通过代理方式 修改请求方式为 get 并且跳转到其它 url

proxy_pass http://xxx.com;

}

法三:

error_page 405 =200 @405;

location @405{

root /home/wwwroot/test; # 修改网站根目录 让请求到被指定的其它脚本文件解析

}

405 =200 意味着将 405 响应强制转换为 200状态

网上还有其它的修改方法,例如修改源文件重新编译等,大家可自行搜索。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx