我们有一个运行良好的 Apache 反向代理(配置如下)。现在我们需要将一些请求转发到另一台服务器(server3.domain.com)并检查用户请求中是否存在名为“LtpaToken”的cookie。如果 cookie 不存在,则会返回错误页面(我们要阻止匿名请求)。
我需要将 http(s)://server.domain.com/jsreports/* 转发到 JSReport 的 http(s) 服务器 VM( server3.domain.com IP 地址)并检查 LtpaToken 是否存在。
任何人都可以给出一些提示如何实施?谢谢!
SSLEngine on
SSLProxyEngine On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
ServerName server.domain.com
ServerAlias server.com
ProxyRequests Off
# ProxyPreserveHost On
<Proxy balancer://my_cluster>
BalancerMember https://server.domain.com keepalive=on
BalancerMember https://server2.domain.com keepalive=on status=+H
AllowOverride None
Order allow,deny
allow from all
# ProxySet lbmethod=byrequests
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
Order deny,allow
Deny from all
allow from 192.168.1
allow from 5.5.20
allow from 10.0.0
</Location>
ProxyPass /balancer-manager !
ProxyPass / balancer://my_cluster/
ProxyPassReverse / balancer://my_cluster/
您可以检查标头中是否存在
LtpaToken=
字符串,Cookie
如果找不到,则提供“/forbidden.html”页面。如果要返回 HTTP 错误(403),可以将最后一行替换为