我正在构建一个严重依赖跨域 REST API 调用的 HTML5 站点。为了解决与 CORS 相关的问题,我设置了反向代理以指向 REST API。不幸的是,我遇到了一些问题,我被困住了,我对 Apache 配置不太熟悉。
在此处查看我的站点设置:我的基础架构的图像
基本上我的问题是这样的:
- ui.site.com/api1 从 api1.serv.com 返回数据(这是预期的)
- ui.site.com/api2 从api1 .serv.com 返回数据(不正确,应该来自api2 .serv.com)
- ui.site.com/api3 从api1 .serv.com 返回数据(同样不正确,应该来自api3 .serv.com)
这里发生了什么?apache 对一台运行多个站点的服务器的代理调用是否不能很好地发挥作用?我似乎找不到任何关于此的资源,或任何有相同问题的人。
下面的代码
服务器 1:JavaScript 前端。
# Apache Virtual Host
ProxyPreserveHost On
SSLProxyEngine On
ProxyPass /api1 https://api1.serv.com
ProxyPassReverse /api1 https://api1.serv.com
ProxyPass /api2 https://api2.serv.com
ProxyPassReverse /api2 https://api2.serv.com
... #repeat above for api3
服务器 2: REST 应用程序,每一个都是它自己的站点
<Virtualhost *:443>
ServerName api1.serv.com
ServerAlias api1.serv.com
.... #other directives...
</VirtualHost>
<Virtualhost *:443>
ServerName api2.serv.com
ServerAlias api2.serv.com
.... #other directives...
</VirtualHost>
.... #Repeat for api3.serv.com