Apache : Proxy Balancer, 在两个 channel 上发送某些请求

标签 apache session tomcat networking

我正在开发一个基于 Spring-MVC 的应用程序,该应用程序在具有反向代理的 Apache 实例后面运行。目前,该设置适用于与数据库相关的操作,但有某些 URL,在调用时,我想向两个服务器发送请求。示例:/onlinestatus/*。如果用户当前在服务器 1 上,那么根据我们当前的设置,他不知道服务器 2 上的用户。但这是不正确的,因为两个用户都在使用同一个平台。我如何指示 apache 将某些 URL 传递给两个平台。谢谢。

站点启用/000-默认:

<VirtualHost *:443>
ServerName www.domain.de
ProxyRequests off
ProxyPreserveHost On
ProxyPass /nagios !
ProxyReceiveBufferSize 4096
ErrorDocument 503 /error/message.html
ProxyPass /error/ !
ProxyPass /error/message.html !
SSLEngine on
SSLProxyEngine on
SSLCertificateFile /etc/letsencrypt/live/www.domain.de-0002/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.domain.de-0002/private.key
SSLCertificateChainFile /etc/letsencrypt/live/www.domain.de-0002/chain.pem
SSLProxyVerify none 
SSLProxyCheckPeerCN off
ProxyPass / https://localhost:8443/
ProxyPassReverse / https://localhost:8443/
<Location / >
SetEnvIf Origin ^(https?://.+\.DOMAIN\.de(?::\d{1,5})?)$   CORS_ALLOW_ORIGIN=$1
Header append Access-Control-Allow-Origin  %{CORS_ALLOW_ORIGIN}e   env=CORS_ALLOW_ORIGIN
Header merge  Vary "Origin"
Order allow,deny
Allow from all
</Location>
        ProxyPass / balancer://mycluster/ stickysession=JSESSIONID nofailover=On
<Proxy balancer://mycluster>
       BalancerMember https://SERVER_1_IP:8443 route=server1
</Proxy>
 ProxyPass /balancer-manager !
 ProxyPass / balancer://mycluster/
</VirtualHost>

最佳答案

您不能将一个请求代理到两个服务器。你希望得到什么?两个 HTML 文件? (如果您的群集增长:20 个 HTML 文档怎么办?)它们将如何显示?

如果您的应用程序在集群中运行,并且用户知道其他人在集群上工作是至关重要的,那么您需要在业务层上提供该信息(通过在后端跟踪登录用户 -这可能是数据库或集群通信 channel )

如果您“只是”需要此信息用于系统管理目的 - 例如了解何时停止其中一台集群机器是安全的 - 然后只需使用负载均衡器的状态信息页面即可。

关于Apache : Proxy Balancer, 在两个 channel 上发送某些请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54943969/

相关文章:

apache - 用于在本地设置 Apache 服务器的 Ansible Playbook 与主机不匹配

php - 如何在 Laravel 中为单个 session 变量设置计时器?

java - JSP: session 无法解析为类型

session - 没有 cookie 的 Node.JS session

apache - 如何即时更新 .htaccess 以有条件地 gzip

php - htaccess Symfony2 将所有 *.php 页面(除了 app.php)重定向到 app.php

用于 Tomcat 的 REST Web 服务

java - 无法加载 JDBC 驱动程序类 'com.mysql.jdbc.Driver' Tomcat 8 和 Eclipse

php - Apache 无法在 Mojave 上加载 PHP 扩展

java - Tomcat,网站无法访问