我使用 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