问题
默认的nginx上,是拒绝通过post方式访问静态页面,但是在实际应用nginx的过程中,可能需要通过post请求静态页面
curl -d POST http://www.test.com/test.ini
<html>
<head><title>405 not allowed</title></head>
<body bgcolor="white">
<center><h1>405 not allowed</h1></center>
<hr><center>nginx</center>
</body>
</html>
解决方法
- 通过proxy_pass 转发静态文件接收的POST请求到GET方式
upstream static_backend {
server www.test.com;
}
server
{
listen 80;
server_name www.test.com;
index index.html index.htm index.php;
root /data/www/test/;
error_page 405 =200 @405;
location @405
{
root /data/www/test/;
proxy_method GET;
proxy_pass http://static_backend;
}