Nginx 405 not allowed解决办法
场景 : Nginx 静态html文件转发post 请求,出现405 状态码
解决方式: 405 重新代理转发.
upstream myservername{
ip_hash;
server 127.0.0.1:9100;
server 127.0.0.1:9102;
}
location ~ ^/api/ {
proxy_pass http://myservername;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header Http-referer $http_referer;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#405 重新代理
error_page 405 =200 @405;
}
location @405 {
##这里注意,部署了多台,拿到负载均衡的ip 用$upstream_addr参数
proxy_pass http://$upstream_addr$request_uri;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}