![Apache 反向代理重写复杂 URL 规则。“重定向次数过多”错误](https://linux22.com/image/773501/Apache%20%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E9%87%8D%E5%86%99%E5%A4%8D%E6%9D%82%20URL%20%E8%A7%84%E5%88%99%E3%80%82%E2%80%9C%E9%87%8D%E5%AE%9A%E5%90%91%E6%AC%A1%E6%95%B0%E8%BF%87%E5%A4%9A%E2%80%9D%E9%94%99%E8%AF%AF.png)
我正在尝试为我的后端服务器配置反向代理。
这是我之前有效的配置。
Define REMOTE_ADDR proxyserver.domain.com
<VirtualHost *:443>
ProxyRequests Off
KeepAlive On
ProxyPreserveHost Off
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket
RewriteRule /prefix/(.*) wss://${REMOTE_ADDR}/prefix/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket
RewriteRule /prefix/(.*) https://${REMOTE_ADDR}/prefix/$1 [P,L]
ProxyPass / https://${REMOTE_ADDR}/prefix/ connectiontimeout=5 timeout=300
ProxyPassReverse / https://${REMOTE_ADDR}/prefix/
</VirtualHost>
这是我的新配置。
我想重定向到:-proxyserver.domain.com/prefix/sen/app/9d12ponf12-2awf2-wafa/sheet/219uaw9dw-waf2/state/analysis
注意:远程地址始终相同。我给出了一个例子,但实际情况也是如此。
我没有包含 SSL 信息,因为这与我的问题无关。
Define REMOTE_ADDR proxyserver.domain.com
<VirtualHost *:443>
ProxyRequests Off
KeepAlive On
ProxyPreserveHost Off
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket
RewriteRule /prefix/sen/app/9d12ponf12-2awf2-wafa/sheet/219uaw9dw-waf2/state/analysis(.*) wss://${REMOTE_ADDR}/prefix/sen/app/9d12ponf12-2awf2-wafa/sheet/219uaw9dw-waf2/state/analysis$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket
RewriteRule /prefix/sen/app/9d12ponf12-2awf2-wafa/sheet/219uaw9dw-waf2/state/analysis(.*) https://${REMOTE_ADDR}/prefix/sen/app/9d12ponf12-2awf2-wafa/sheet/219uaw9dw-waf2/state/analysis$1 [P,L]
ProxyPass / https://${REMOTE_ADDR}/prefix/sen/app/9d12ponf12-2awf2-wafa/sheet/219uaw9dw-waf2/state/analysis connectiontimeout=5 timeout=300
ProxyPassReverse / https://${REMOTE_ADDR}/prefix/sen/app/9d12ponf12-2awf2-wafa/sheet/219uaw9dw-waf2/state/analysis
</VirtualHost>
它出现“太多重定向错误”。
我现在陷入困境,不知道如何为像 REMOTE_ADDR 这样的 URL 设置规则。
任何帮助都将受到赞赏。
编辑-提供我以前的工作配置,并更新我当前的配置以显示它们之间的关系。
我已经写了/analysis$1
,而不是/analysis/$1
因为当我尝试直接访问我的服务器时,一些动态字符串被附加到它,例如
/analysis?example