Apache-2.2

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

  • October 26, 2011

我在重定向流量時遇到了問題。基本上,我正在建構一個新的 Web 伺服器,它位於我域的另一個版本上,所以我想重定向不是來自這個 IP 的流量。

問題是亞馬遜的 ELB 負載均衡器擋住了路,所以它替換了遠端 IP 地址。正常獲取方式。研究發現我需要使用 %{X-Forward-For}i - 但它不起作用,我不知道我是否在正確的位置和語法中得到它。我正在執行虛擬主機,所以我放入了 VirtualHost 標籤……

<VirtualHost *:80>
   ServerAdmin webmaster@foo.com
   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>

Obv xxx.xxx.xxx.xxx 是我的 IP。

這是錯的嗎?

在我的頭頂上:這不應該嗎

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

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

要不就

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

引用自:https://serverfault.com/questions/324856