настройка ограничения файлов по IP с использованием .htaccess в кластерной / облачной среде - PullRequest
3 голосов
/ 01 сентября 2010

найден ответ, см. Конец поста

Как ограничить доступ к файлу по IP, если вы размещены в кластерной / облачной среде (Rackspace Cloud, чтобы бытьболее конкретно).Вчера я задал похожий вопрос здесь и получил следующий ответ, который отлично работал (спасибо) в моей локальной тестовой среде.

<Files test.html>
    Order allow,deny
    Deny from all
    Allow from 123.123.123.123
</Files>

Тем не менее, я пришел к выводу, что Rackspace Cloud заключается в том, что к моменту, когда посетитель переходит на страницу (или, если это касается .htaccess, w /), IP-адрес будетуже изменилось.

Я обнаружил это, когда тестировал директиву .htaccess, где мой истинный IP-адрес не давал бы мне доступ, но собственный IP-адрес хостинга сайта работает.

С некоторыми другими тестами я также узнаю, что в их облачной среде IP-адрес посетителя сообщается через «HTTP_X_FORWARDED_FOR» вместо «REMOTE_ADDR».

Есть ли у кого-нибудь хороший обходной путь сэтот?Есть ли в .htaccess директива, по которой я могу изменить IP-адрес, который ищет .htaccess?

(да, я собираюсь опубликовать этот же вопрос в Rackspace.)


ответ добавлен

поэтому после нескольких часов царапин на голове с их онлайн-поддержкой, директива для использования, по крайней мере с Rackspace Cloud, выглядит следующим образом:

<Files filename.htm>
SetEnvIf X-Cluster-Client-Ip 000.000.000.000 allowclient
SetEnvIf X-FORWARDED-FOR 000.000.000.000 allowclient
order deny,allow
deny from all
allow from env=allowclient
</Files>

в зависимости отесли вы находитесь за SSL-кластером или нет, вы будете использовать директиву «X-Cluster-Client-Ip» (не-SSL) или «X-FORWARDED-FOR» (SSL), чтобы соответствовать вашему ip.

...