![Nginx 代理 SOAP 请求](https://linux22.com/image/633641/Nginx%20%E4%BB%A3%E7%90%86%20SOAP%20%E8%AF%B7%E6%B1%82.png)
寻找正确的方法来实现以下目标:
有一个应用程序的 URL(1) 是硬编码的,没有办法/时间在源代码中更改它
http://dev.server.com/example.com/admin/soap/action/index?pr=1
并且它应该使用 URL(2)(并从中获取响应)
http://example.com/admin/soap/action/index?pr=1
我应该在 dev.server.com 上的 Nginx(使用 apache 作为备份)conf 中进行什么配置,以便当该应用程序询问 URL(1)时从 URL(2)获得答案?
在 dev.server.com 上,Apache 已启用虚拟主机:dev.server.com。
我也尝试过使用 ProxyPass 在 apache 而不是 nginx 中进行代理:
<Directory /var/www/dev>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
<Location /example.com/admin/soap>
ProxyPass http://example.com/admin/soap
</Location>
答案1
尝试在 Nginx 配置文件中使用以下位置:
location /example.com/admin/soap/action/index {
proxy_pass http://example.com/admin/soap/action/index;
}
Apache 上的一个可能的解决方案是:
<Location /example.com/admin/soap/action/index>
ProxyPass http://example.com/admin/soap/action/index
</Location>