gpt4 book ai didi

mod-rewrite - apache httpd mod_proxy 负载平衡与多个虚拟主机 URL 重定向

转载 作者:行者123 更新时间:2023-12-02 01:19:16 25 4
gpt4 key购买 nike

场景:
操作系统centos
网络服务器 apache http 版本 2.2.23
两台 weblogic 服务器集群
两个网络服务器

以上是在硬件负载均衡器后面

主要是想做url重定向和流量负载均衡(不修改session)

当我输入agent.abconline.com时,它应该被重定向到应用程序服务器192.168.0.1:7001/agentstaging.abconline.com 应重定向到 192.168.0.1;7001/staging

上面说我可以单独使用 mod_rewrite,但是在尝试使用 mod_proxy 和负载平衡时,我无法重定向到所述 URL

以下是配置

NameVirtualHost *:80
<VirtualHost *:80>
ServerName agent.abconline.com
RewriteEngine On

<Proxy balancer://agentcluster>
BalancerMember http://192.168.0.1:7003 route=1 loadfactor=50 retry=60
BalancerMember http://192.168.0.2:7003 route=1 loadfactor=50 retry=60
</Proxy>

# Redirect all non-static requests to agent
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://agentcluster%{REQUEST_URI} [P,QSA,L]

ProxyPass /abc-oper balancer://agentcluster/abc-oper
ProxyPassReverse /abc-oper balancer://agentcluster/abc-oper
ProxyPreserveHost on

SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ErrorLog /apps/apache/logs/agent.abconline.com.error.log
CustomLog /apps/apache/logs/agent.abconline.com.access.log combined
LogLevel debug
</VirtualHost>

<VirtualHost *:80>
ServerName staging.abconline.com
RewriteEngine On

<Proxy balancer://stagingcluster>
BalancerMember http://192.168.0.1:7003 route=1 loadfactor=50 retry=60
BalancerMember http://192.168.0.2:7003 route=1 loadfactor=50 retry=60
</Proxy>

# Redirect all non-static requests to agent
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://stagingcluster%{REQUEST_URI} [P,QSA,L]

ProxyPass /abc-oper balancer://stagingcluster/abc-oper
ProxyPassReverse /abc-oper balancer://stagingcluster/abc-oper
ProxyPreserveHost on

SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ErrorLog /apps/apache/logs/staging.abconline.com.error.log
CustomLog /apps/apache/logs/staging.abconline.com.access.log combined
LogLevel debug
</VirtualHost>

最佳答案

您没有将适当的 /agent/staging 上下文添加到反向代理规则中,并且显然在返回时删除了上下文,例如

RewriteRule      / balancer://stagingcluster/staging%{REQUEST_URI} [P,QSA,L]
ProxyPassReverse / balancer://stagingcluster/staging


# Possibly also require a:
#ProxyHTMLURLMap balancer://stagingcluster/staging /

关于mod-rewrite - apache httpd mod_proxy 负载平衡与多个虚拟主机 URL 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13675536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com