Nginx 代理删除特定路径并清空 Post 请求正文 +HTTPS
Nginx proxy remove spesific path and emty Post request body +HTTPS
我正在使用 nginx 作为 Web 服务代理。我有如下休息服务,我想代理我的域
https://www.example.com/myRestservice。服务有这样的方法;
http://1.1.1.1:123/api/work/method1
http://1.1.1.1:123/api/work/method2
*顺便说一下,在 nginx.conf
中,服务在两个服务器上发布,如下所示
因此我想访问像“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/(.*) / break;
proxy_pass http://Restservice/;
proxy_http_version 1.1;
}
}
再见,我尝试像这样定位零件,结果是一样的。
location /Restservice {
proxy_pass http://Restservice/;
}
通常我可以通过 https link 的配置访问 soap 服务。
是关于 http 重定向到 https 吗?
在nginx访问日志中;
状态:500
要求:POST /Restservice/api/work/method1 HTTP/1.1
我找到原因了。因为编码。
选择编码类型'UTF-8'后,我可以看到请求正文。
我正在使用 nginx 作为 Web 服务代理。我有如下休息服务,我想代理我的域 https://www.example.com/myRestservice。服务有这样的方法;
http://1.1.1.1:123/api/work/method1
http://1.1.1.1:123/api/work/method2
*顺便说一下,在 nginx.conf
中,服务在两个服务器上发布,如下所示因此我想访问像“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/(.*) / break;
proxy_pass http://Restservice/;
proxy_http_version 1.1;
}
}
再见,我尝试像这样定位零件,结果是一样的。
location /Restservice {
proxy_pass http://Restservice/;
}
通常我可以通过 https link 的配置访问 soap 服务。 是关于 http 重定向到 https 吗?
在nginx访问日志中; 状态:500 要求:POST /Restservice/api/work/method1 HTTP/1.1
我找到原因了。因为编码。 选择编码类型'UTF-8'后,我可以看到请求正文。