UI 应用程序未使用 VIP 打开 URL 但 UI 应用程序在 Apache HTTPD 中按预期工作 URL

UI application is not opening with VIP URL but UI application is working as expected with Apache HTTPD URL

之前我们有 1 个虚拟机,其中 apache httpd(负载平衡器)是 运行 负载平衡我们的 UI 应用程序,该应用程序部署在具有多个实例的集群中的 weblogic 托管服务器上。我们可以使用服务器负载均衡器 ip 访问 UI,并且在后端 httpd 正在调用 weblogic 托管服务器。

现在我们正尝试在服务器 A 和服务器 B 上实现基于 VIP 的负载均衡器服务 (apache httpd) 运行 的高可用性方法。目前 VIP C 正在解析到相应的虚拟机,即服务器 A 或服务器 B. 但是,如果我们在浏览器上点击与 VM 相关的 URLs,它会导航到 SSO,即 Siteminder Authenticaon 页面,但同样无法通过 VIP URL 即 http://ip-of- C/ 。我们假设实际 VM 的 apache httpd 配置可能需要一些额外的参数,以便 URL http://ip-of-c/ 可以导航到 SSO 页面。下面是我们在点击 VIP URL http://ip-of-c/.

时遇到的错误

未找到 在此服务器上找不到请求的 URL /test。

http://ip-of-c/ - VIP URL (Not working)
http://ip-of-a/ - 1st LB URL (Working)
http://ip-of-b/ - 2nd LB URL (Working)

尝试在实际虚拟机上用 VIP 更改监听部分,但没有成功。

在所有服务器和客户端上的 /etc/hosts 中,或在 DNS 中

1.1.1.1     ip-of-a             # Server A
2.2.2.2     ip-of-b             # Server B
3.3.3.3     ip-of-c             # VIP
3.3.3.3     www.exemple.com     # OR can be defined in DNS

在服务器 A 上:

<VirtualHost *:80>
    ServerName  www.exemple.com
    ServerAlias serverA.domain
    # Logs configuration
    # DocumentRoot
    # DocumentIndex
    # ... other configurations ...
</VirtualHost>

在服务器 B 上:

<VirtualHost *:80>
    ServerName  www.exemple.com
    ServerAlias serverB.domain
    # Logs configuration
    # DocumentRoot
    # DocumentIndex
    # ... other configurations ...
</VirtualHost>

要通过 VIP 访问网站,请使用 http://www.exemple.com 要仅在服务器 A 上访问站点,请使用 http://serverA.domain 要仅在服务器 B 上访问站点,请使用 http://serverB.domain

避免直接通过IP访问,它破坏了Apache对select VirtualHost使用的域名机制。

这适用于静态站点。您的 Weblogic 服务器必须接受所有 3 个名称的请求才能正确响应。