2

我正在构建一个严重依赖跨域 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
4

0 回答 0