🌚

NGINX: 405 Not Allowed

Posted at — Feb 19, 2012
#HTTP #Nginx #计算机

NGINX不允许向静态文件提交POST方式的请求,否则报405错误。测试方法为,使用curl向服务器上的静态文件提交POST请求:

```bash curl -d 1=1 http://localhost/version.txt ``` 得到以下结果: ```html405 Not Allowed

405 Not Allowed


nginx/1.0.11
```

网上传抄的添加以下配置的解决办法不可用:

```nginx error_page 405 =200 @405; location @405 { root /srv/http; } ```

一种不完美但可用的方法为:

```nginx upstream static_backend { server localhost:80; } server { listen 80; # ... error_page 405 =200 @405; location @405 { root /srv/http; proxy_method GET; proxy_pass http://static_backend; } } ```

即转换静态文件接收的POST请求到GET方式。

Posted via UltraBlog.vim.