解决nginx 部署前端post请求405 not allowed

时间:2025-03-02 07:49:12

原因:nginx 静态资源访问不支持post请求。

解决方案:

       upstream static_backend {
            server localhost:9095;
       }

       location / {
            root  /usr/local/dist;
            try_files $uri $uri/ /;
            index   ;
            error_page 405 =200 @405;  #405页面处理
       }

        #加入下面代码
       location @405 {
             proxy_set_header Host $host; 
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
             #ip为后端服务地址
             proxy_pass http://localhost:9095$request_uri ;
       }

或者

location / {
        root /usr/share/nginx/html/cashier;
        try_files $uri $uri/ /;
        index  ;
        error_page 405 =200  $request_uri; // $request_uri这个参数的含义下面有解释
}