Nginx 代理删除特定路径和清空 Post 请求体

Nginx 代理删除特定路径和清空 Post 请求体

我使用 nginx 进行 Web 服务代理。我有如下所示的 rest 服务,我想使用 suburi 代理我的域

https://www.example.com/myRestservice

服务有一些这样的方法;

http://1.1.1.1:123/api/work/method1
http://1.1.1.1:123/api/work/method2

因此,我想访问类似的服务方法

https://www.example.com/Restservice/api/work/method1..

当我尝试在 nginx 中使用 rewrite 时,我可以访问服务。但此时 Post 方法的请求主体为空。我可以看到服务日志。

在我的 nginx.config 中

upstream RestService {
   server 1.1.1.1:123;
   server 1.1.1.2:123;
}
server {
       listen                443 ssl;
       server name           https://www.example.com;

location ~ ^/Restservice/ {
          
   add_header Access-Control-Allow-Origin *;
   rewrite ^/Restservice/(.*) /$1 break;
   proxy_pass http://Restservice/;
   proxy_http_version  1.1;
}
}

我尝试像这样定位部分,结果是一样的。

 location   /Restservice { 
   
   proxy_pass http://Restservice/;
}

在 nginx 访问日志中;

status : 500 request: POST /Restservice/api/work/method1 HTTP/1.1

相关内容