这是我在服务器故障中的第一篇文章,所以我很抱歉任何失礼:)
问题:当我尝试访问充当 WAF 的 apache 背后的“ http://dummy_server/wp-admin ”时,它陷入无限重定向循环。
HAProxy 和 WAF 的完整配置可以在这里找到https://www.haproxy.com/blog/scalable-waf-protection-with-haproxy-and-apache-with-modsecurity/
对于我可以调查的内容,如果我在对 dummy_server/wp-admin 执行 GET 操作时在关闭 apache VH(即仅使用 HA 代理)的同时访问 dummy_server,则服务器会响应
HTTP/1.1 302 Found
Date: Wed, 20 Feb 2019 19:00:49 GMT
Location: https://dummy_server/wp-login.php?redirect_to=.....
Run Code Online (Sandbox Code Playgroud)
然后浏览器重定向到 dummy_server/wp-login 并等待用户凭据。
尽管如此,如果我在激活 WAF 的情况下对 dummy_server 执行 GET,则Location标头将更改为
Location: https://dummy_server/wp-admin
Run Code Online (Sandbox Code Playgroud)
以及陷入重定向循环的过程。
如果我关闭 WAF 配置(我使用的是 modsecurity),则 apache 仅充当反向代理,但问题仍然存在。
下面是虚拟机配置:
<VirtualHost *:90>
<IfModule mod_security2.c>
Include /etc/apache2/owasp-modsecurity-crs/crs-setup.conf
SecRuleEngine On
SecRequestBodyAccess On
SecResponseBodyAccess On
</IfModule>
ProxyPreserveHost On
ProxyRequests Off
ProxyVia Off
ProxyPass / http://192.168.57.22:81/
ProxyPassReverse / …
Run Code Online (Sandbox Code Playgroud)