Apache-httpd.conf 使用 X-Forward-For 重定向-不起作用?

Apache-httpd.conf 使用 X-Forward-For 重定向-不起作用?

我在重定向流量方面遇到了大问题。基本上,我正在构建一个新的 Web 服务器,它位于我的域的另一个版本上,所以我想重定向不来自此 IP 的流量。

问题是 Amazon 的 ELB 负载均衡器挡住了路,所以它取代了远程 IP 地址。获取的正常方法。研究发现我需要使用 %{X-Forward-For}i - 但它不起作用,我不知道我是否将其放在正确的位置和语法中。我正在运行 vhosts,所以我放入了 VirtualHost 标签...

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/vhosts/foo/www.bar.com/htdocs/
    ServerName www.bar.com
    ErrorLog /var/www/vhosts/foo/www.bar.com/logs/error.log
    CustomLog /var/www/vhosts/foo/www.bar.com/logs/access.log common
    RewriteEngine On
    RewriteCond %{X-Forwarded-For}i !^xxx\.xxx\.xxx\.xxx
    RewriteRule ^.*$ http://www.bar.com/ [R,L]
</VirtualHost>

显然 xxx.xxx.xxx.xxx 是我的 IP。

这错了吗?

答案1

我脑子里想的是:这不应该

RewriteCond %{X-Forwarded-For} !^xxx\.xxx\.xxx\.xxx

RewriteCond %{HTTP:X-Forwarded-For} !^xxx\.xxx\.xxx\.xxx

要不就

RewriteCond %{HTTP_FORWARDED} !^xxx\.xxx\.xxx\.xxx

相关内容