Htaccess allow from ip не работает

Как в htaccess запретить доступ по IP диапазону

Как в .htaccess работает блокировка по IP

Если вас интересует, как заблокировать доступ по IP к сайту нежелательным личностям, спамерам и прочим, то вам надо создать или отредактировать файл .htaccess и воспользоваться синтаксисом Order Allow,Deny либо Order Deny,Allow . Между ними есть разница:

  • Order Allow,Deny
    Сначала обработаются разрешающие правила Allow , потом запрещающие Deny , а всё, что не попадает под них, будет запрещено;
  • Order Deny,Allow
    Сначала будут обработаны запрещающие правила Deny , потом разрешающие Allow , а все, что не попадут под них, будут разрешены по умолчанию.

Обратите внимание на синтаксис, никаких лишних пробелов, иначе можно вызвать ошибку 500 Internal Server Error

Если это касается всего сайта, файл создаётся в корне, если нужно закрыть лишь определённую его часть, например, админку, файл .htaccess должен располагаться непосредственно в этом разделе.
Ну, и конечно же, ваш сервер (бекенд или рабочий) должен быть Apache. Если ваш рабочий сервер NGINX + php-fpm, то править придётся конфигурационный файл nginx.

Забанить спамера по IP диапазону

Это был пример того, как забанить IP (192.168.1.1) спамера, не закрывая доступа всем остальным. Ещё можно пропустить последний октет IP-адреса, Deny from 192.168.1 , тогда будут забанены все пропущенные IP адреса. Однако, вы же понимаете, статичный IP блокировать глупо, он, скорее всего, динамический, поэтому мы берём IP и отправляемся определять подсеть с диапазоном IP, откуда он пришёл. Для этого воспользуемся любым Whois-сервисом, например, этим, ищем строку CIDR или, если её нет, NetRange

Определяем подсеть IP

Нам повезло, CIDR (Classless Inter-Domain Routing, Бесклассовая адресация) присутствует, а именно в таком формате лучше всего записывать диапазон IP в htaccess

Если CIDR отстуствует, рекомендую воспользоваться калькулятором IP-диапазона в CIDR и данными из NetRange, чтобы получить CIDR.

Конвертируем диапазон IP в CIDR

Запретить доступ в админку

Чтобы запретить доступ в админку всем, кроме вашего IP, в htaccess, который должен располагаться в разделе админки, нужно прописать:

Где 192.168.0.0/16 — ваш IP или подсеть

Вот, скажем, вариант для WordPress. Файл .htaccess создаётся в /wp-admin/

Обратите внимание, тут используется конструкция Files «admin-ajax.php» . Она необходима для того, чтобы проходили ajax запросы.

Запретить доступ к файлам по IP

Вот пример, как можно защитить админку WordPress от посягательств хакеров. Здесь используется конструкция FilesMatch «регулярное выражение»

Источник

Ошибка доступа по ip в .htaccess

Добрый день)
Проблема следующая: в .htaccess не работает доступ когда я пишу конкретные ip:

т.е. мне надо разрешить доступ подсети. пишу:

Order Deny, Allow
Deny from all
Allow from 100.99.0.0/255.255.0.0

даже если я пишу «Allow from 100.99.99.1» где 100.99.99.1 — ip c которого я зашла. Но ресурс все равно не доступен..
Если написать Allow from all — все работает.

Поэтому я сделала вывод что что-то не так в настройках сервера? — не работают строки где написан конкретный ip
Как это можно исправить?

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Права доступа через htaccess
У дле есть такая фишка если к примеру не кинуть в папку htaccess (с данними прописями ) то папка не.

htaccess. Запрет доступа по адресу
Добрый день! Меня интересует, можно ли закрыть доступ по конкретному адресу, а не к файлу. Может.

Логи доступа к папке .htaccess
Здравствуйте, столкнулся с следующей проблемой: Существует папка, к которой обращаются.

Разрешение доступа к определенному файлу в .htaccess
Здравствуйте. На сайте есть папка с некоторым функционалом. Необходимо заблокировать доступ ко всем.

Добавлено через 3 минуты
И еще очень важный момент.
Не стоит ли случайно связка nginx+apache2?

Добавлено через 21 минуту
Ой. Вот же ошибка
НЕ Order Deny, Allow
А Order Allow, Deny
У тебя порядок обработки тут задается.

Я уже пробовала) От порядка обработки ничего не меняется)
Но вообще от этого ничего не зависит) просто если делать Order Allow, Deny — тогда правило Allow первым надо написать, а потом запретить.
Как у меня тоже правильно: — сначала я задаю порядок (запретить, потом разрешить), потом запрещаю всем, а потом открываю доступ конкретным ip

А вот что такое nginx? С помощью phpinfo() я смотрела информацию о серваке, там нету об этом никаких сведений, значит наверно не используется?

Источник

Управление доступом с помощью htaccess. Как изменить доступ к сайту

Здравствуйте программисты, сегодня новое руководство по работе с htaccess. Сегодня я научу вас как запрещать доступ к файлам, как запрещать доступ к директориям, как запрещать доступ к сайту по определенному ip. В общем я вас расскажу как закрывать свой сайт от посетителей.

Данный метод используется для ограничения определенных файлов или директорий сайта.

Как изменить доступ к файлам, с помощью .htaccess?

Для того чтобы это сделать, мы в корневой папке сайта создаем файл .htaccess. Данный файл необходимо открыть как обычный текстовик или с помощью программы для написания кода. Я открываю этот файл через программу Sublime Text.

Для файла .htaccess следует использовать права доступа 644 и загружать его в ASCII-режиме. Если ваш .htaccess файл не работает, то вам следует обратиться к системному администратору или в техподдержку вашего веб-хостинга и убедиться, что использование его разрешено для вашей учетной записи, так как некоторые хостинговые компании не позволяют его использование без предварительного разрешения, это в основном относится к бесплатным хостингам. Также, к сожалению, .htaccess не будет работать на Windows-серверах.

Первая директива, с которой мы познакомимся, это директива Order. Синтаксис директивы прост и она может быть использована в двух вариантах:

Order Deny,Allow — это начала кода, которое показывает, что после него будут перечислены параметры ограничения доступа к файлам.

Allow — разрешает доступ.

В зависимости от выбранного варианта [Deny,Allow] или [Allow,Deny] для директивы Order, мы изменяем логику работы сервера. Если используем первый вариант (Deny,Allow), то мы сообщаем серверу, что хотим запретить доступ для всех (deny), кроме тех, которым разрешим (Allow).

Когда мы используете второй вариант (Allow,Deny), то подразумевается, что мы разрешаем доступ всем, кроме определенных IP.

Здесь стоит отметить, что на самом деле использование директивы Order не является обязательным и возможно использование директив Deny и Allow без директивы Order. Также не будет ошибкой, если, к примеру, объявив в директиве Order вариант Deny,Allow, мы сначала используем директиву Allow, а затем Deny. Хотя все же лучше будет, если мы в этом вопросе не будем отходить от рекомендаций документации.

Читайте также:  Ijust не работает с испарителем

Как закрыть доступ для всех?!

Итак, для того, чтобы закрыть доступ к сайту для всех, достаточно прописать в файле htaccess в корне следующие строки:

Так мы закрыли доступ ко всему сайту для всех IP. Теперь сервер будет отдавать клиенту ответ 403, т.е. доступ запрещен.

Как закрыть доступ всем, кроме определенного ip?!

Если вы захотите открыть при этом доступ к сайту с конкретного IP, тогда его можно указать в директиве Allow. Например, откроем доступ для IP 127.0.0.1:

Также можно открывать доступ для нескольких IP. Для этого достаточно перечислить их через пробел:

Как закрыть доступ к определенной директории сайта?!

Очевидно, что точно так же мы можем закрыть доступ не ко всему сайту, а только к какой-нибудь папке. Для этого просто нужно создать в папке файл htaccess и в нем прописать всего одну строку:

Как закрыть доступ к файлу на сайте?!

А что, если мы хотим запретить доступ не к папке, а к файлу. Для этого мы воспользуемся еще двумя директивами: Files и FilesMatch. Данные директивы похожи на HTML-теги, поскольку требуют закрывающей директивы и заключены в знаки меньше/больше:

На самом деле они представляют собой некую ограничивающую конструкцию, позволяющую обратиться только к конкретному файлу или файлам. Например, давайте закроем доступ к архиву rar.rar:

Теперь файл пропадет из листинга каталога и при попытке обращения к файлу напрямую сервер вернет нам вместо файла 403 ошибку.

Если мы хотим ограничить доступ к группе файлов, то здесь можно использовать директиву FilesMatch вкупе с регулярными выражениями. Например, так можно ограничить доступ к графическим файлам и архивам:

Источник

Почему может не работать Allow from IP в.htaccess

один из них — мой IP, меня не пускает .. ниодин из IP не пускает.
Что может быть?
Может в конфе апача как-то запрещены директивы Allow? и он их игнорирует в .htaccess?

З.Ы. авторизации по пользователям нет.
в apache2.conf:
/** * GeSHi (C) 2004 — 2007 Nigel McNie, 2007 — 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .ini.geshi_code .ini.geshi_code .imp .ini.geshi_code .co0 .ini.geshi_code .sy0 .ini.geshi_code .st0 .ini.geshi_code .re0 .ini.geshi_code .re1 .ini.geshi_code .re2 .ini.geshi_code span.xtra

При входе на страницу пишет:
Forbidden
You don’t have permission to access / on this server.

Мой ип — 212.26.XXX.XX

1 ответов

Может где то выше не стоит AllowOverride All.
Как вариант поменять местами и проверить работает ли Deny, т.е. разрешить со всех и запретить с одного и проверить.

UPD: Даже если точнее то AllowOverride Limit
Allow use of the directives controlling host access (Allow, Deny and Order).

Зада поиска правильного ответа заняла слишком долго времени (есть подозрение, что это глюк апача2), поэтому была решена по-другому. Это в начале index.php:

$forwarded = $_SERVER [ ‘HTTP_X_FORWARDED_FOR’ ] ;
if ( ! empty ( $forwarded ) ) <
$ipAddress = preg_replace ( ‘/,.*/’ , » , $forwarded ) ;
> else <
$ipAddress = $_SERVER [ ‘REMOTE_ADDR’ ] ;
>

$allowedIPs = array ( ‘212.26.XXX.XX’ , ‘213.227.RRR.RRR’ ) ;
if ( ! in_array ( $ipAddress , $allowedIPs ) ) <
echo ‘ 403 Forbidden

Forbidden

You don\’ t have permission to access / on this server . p > body > html > ‘;
exit;
>

пока так 🙂

Источник

Htaccess allow from ip не работает

ОС — Fedora 7.
Имеется схема nginx 0.6.31 + apache 2.2.6 + mod_rpaf 0.6
apache работает как backend, слушает на 8080 порту.
nginx слушает на 80 и всё, кроме статики отдаёт apache.
rpaf настроен. В access_log пишутся «реальные» IP.

Заметил такую странную вещь, если есть .htaccess файл и я в корень сайта кладу например
order allow,deny
allow from [ip с которого соединяюсь]
deny from all

Апач даёт
Forbidden
You don’t have permission to access.
Хотя казалось бы указано allow from [ip с которого соединяюсь]

Если я лезу на апач «напрямую» через http://external_ip:8080/, то правило в .htaccess отрабатывает корректно — я вижу странчку.

Что примечательно, если .htaccess выглядит так
order allow,deny
allow from [ip с которого соединяюсь]
allow from 127.0.0.1
deny from all
и соединяюсь к nginx (а он в свою очередь к apache) через http://external_ip/ — получаю страничку! Нету никакого Forbidden.

Т.о., прихожу к выводу что mod_rpaf не работает в конструкциях .htaccess и передаёт ip frontend`а (в моём случае 127.0.0.1).

Поискал в инете, нашёл только один подобный случай для настроек виртуал хоста:
http://www.apsis.ch/pound/pound_list/archive/2007/2007-01/11.

Кто-нибудь проверьте пожалуйста на практике, может у меня где-то ошибка.
Есть ли какие-нибудь решения? Может стоит автору rpaf обратить внимание на такой «баг».

Ответить | Правка | Cообщить модератору

Оглавление

  • apache + mod_rpaf + .htaccess, HaMiL, 17:10 , 02-Окт-08, (1)
    • apache + mod_rpaf + .htaccess, sofree, 17:25 , 02-Окт-08, (2)
      • apache + mod_rpaf + .htaccess, Alex, 15:37 , 13-Окт-08, (3)
        • apache + mod_rpaf + .htaccess, sofree, 22:23 , 13-Окт-08, (4)
          • apache + mod_rpaf + .htaccess, qwerty, 16:47 , 14-Окт-08, (5)
            • apache + mod_rpaf + .htaccess, sofree, 20:12 , 14-Окт-08, (6)
              • apache + mod_rpaf + .htaccess, qwerty, 11:51 , 28-Окт-08, (7)
                • apache + mod_rpaf + .htaccess, sofree, 00:31 , 31-Дек-08, (8)
                  • apache + mod_rpaf + .htaccess, Ярослав, 20:32 , 31-Июл-09, (9) +1
                    • apache + mod_rpaf + .htaccess, sofree, 01:27 , 01-Авг-09, (10)
                      • apache + mod_rpaf + .htaccess, vinzz, 09:15 , 15-Окт-09, (11)
                        • apache + mod_rpaf + .htaccess, angelina, 11:06 , 10-Дек-09, (12)
                        • apache + mod_rpaf + .htaccess, Avari, 21:21 , 21-Окт-10, (13)
                        • apache + mod_rpaf + .htaccess, Kirill, 11:13 , 22-Окт-10, (14)
                        • apache + mod_rpaf + .htaccess, baddan, 14:56 , 21-Апр-11, (15)
  • Не работает allow, deny, когда apache + mod_rpaf + .htaccess, SatanaClause, 13:36 , 09-Авг-11, (16)
    • Не работает allow, deny, когда apache + mod_rpaf + .htaccess, AL, 15:43 , 02-Мрт-12, (17) +1
      • Не работает allow, deny, когда apache + mod_rpaf + .htaccess, Alan, 15:49 , 02-Мрт-12, (18) –1
        • Не работает allow, deny, когда apache + mod_rpaf + .htaccess, ALex_hha, 01:23 , 09-Мрт-12, (19)
          • Не работает allow, deny, когда apache + mod_rpaf + .htaccess, alan, 01:42 , 09-Мрт-12, (20)
            • Не работает allow, deny, когда apache + mod_rpaf + .htaccess, ALex_hha, 02:20 , 09-Мрт-12, ( 21 )
            • Не работает allow, deny, когда apache + mod_rpaf + .htaccess, PavelR, 17:01 , 16-Мрт-12, ( 22 )
        • Не работает allow, deny, когда apache + mod_rpaf + .htaccess, PavelR, 00:10 , 30-Мрт-12, ( 23 )
  • Не работает allow, deny, когда apache + mod_rpaf + .htaccess, baddan, 18:25 , 04-Май-12, ( 24 )

Сообщения по теме [Сортировка по времени | RSS]

Итак, чтобы пофиксить проблему с реальными айпишниками клиентов при использовании связки nginx+apache2, нужн-то всего лишь поставить один модуль к апачу и прописать 3 строки в конфигах.

Чтоб избавится от неудобства необходимо лишь доставить модуль mod_rpaf2 к Apache 2.x.x

[root@server /]# whereis mod_rpaf2
mod_rpaf2: /usr/ports/www/mod_rpaf2
[root@server /]# cd /usr/ports/www/mod_rpaf2

[root@server /]# make install clean

В httpd.conf (конфиг файл Apache) ищем строку:

#LoadModule rpaf_module libexec/apache2/mod_rpaf.so

Де-коментим строку (путь к .so файлу может отличаться)

Далее в тот-же файл httpd.conf в самый низ дописываем 2 строки

RPAFproxy_ips 127.0.0.
RPAFEnable On

Первая строка — это IP прокси (может быть белым IP адресом), вторая — говорит Apache, что rpaf нужно использовать. Что делает rpaf? Он из заголовка X-Forwarded-for делает REMOTE_ADDR.

Собственно остается в конфиге nginx’а в разделе server (виртуального хоста, не в location’e Proxy-преедачи) дописать такие строки:

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

Далее перезагружаем Apache и nginx

[root@server /]# apachectl restart
[root@server /]# /etc/rc.d/nginx restart

1. «apache + mod_rpaf + .htaccess» + / –
Сообщение от HaMiL on 02-Окт-08, 17:10
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. «apache + mod_rpaf + .htaccess» + / –
Сообщение от sofree on 02-Окт-08, 17:25

>Мне проще перекопить нашу статью с кор.википедии. На ней не один сервер
>сейчас работает :))
>===============================================================================
>
>Итак, чтобы пофиксить проблему с реальными айпишниками клиентов при использовании связки nginx+apache2,
>нужн-то всего лишь поставить один модуль к апачу и прописать 3 строки в конфигах.

копипастить не надо. Сам не одну статью прочёл про это. Повторюсь, что
это всё уже сделано и mod_rpaf установлен и ИПы нормально обрабатываются — и в скриптах php и в access_log Apache.

А не работает в .htaccess — allow, deny директивы для ip адресов.
Сами попробуйте, если у Вас apache 2.2 и mod_rpaf — положите .htaccess файл где пропишите deny from [ваш ip].
Опять таки, если к backend`у обратиться «напрямую» http://ext_ip:port, то .htaccess нормально обрабатывается. Поэкспериментируйте. У меня такой баг имеет место.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. «apache + mod_rpaf + .htaccess» + / –
Сообщение от Alex (??) on 13-Окт-08, 15:37

>Сами попробуйте, если у Вас apache 2.2 и mod_rpaf — положите .htaccess
>файл где пропишите deny from [ваш ip].
>Опять таки, если к backend`у обратиться «напрямую» http://ext_ip:port, то .htaccess нормально обрабатывается.
>Поэкспериментируйте. У меня такой баг имеет место.

На 2.0 такая же проблема.
Вы как-нибудь решили.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. «apache + mod_rpaf + .htaccess» + / –
Сообщение от sofree on 13-Окт-08, 22:23

>>Сами попробуйте, если у Вас apache 2.2 и mod_rpaf — положите .htaccess
>>файл где пропишите deny from [ваш ip].
>>Опять таки, если к backend`у обратиться «напрямую» http://ext_ip:port, то .htaccess нормально обрабатывается.
>>Поэкспериментируйте. У меня такой баг имеет место.
>
>На 2.0 такая же проблема.
>Вы как-нибудь решили.

Нет, не решил. Зато выяснилось, что этот баг имеет место. Думаю, автору mod_rpaf надо показать данный «баг»

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. «apache + mod_rpaf + .htaccess» + / –
Сообщение от qwerty (??) on 14-Окт-08, 16:47

Apache/2.2.9 проблем нет, но 1 отличие, у меня блок deny allow описан внутри httpd.conf

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. «apache + mod_rpaf + .htaccess» + / –
Сообщение от sofree (ok) on 14-Окт-08, 20:12

>Apache/2.2.9 проблем нет, но 1 отличие, у меня блок deny allow описан
>внутри httpd.conf

А можно с .htaccess попробовать? Всего лишь маленький файлик.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. «apache + mod_rpaf + .htaccess» + / –
Сообщение от qwerty (??) on 28-Окт-08, 11:51

>>Apache/2.2.9 проблем нет, но 1 отличие, у меня блок deny allow описан
>>внутри httpd.conf
>
>А можно с .htaccess попробовать? Всего лишь маленький файлик.

Order deny,allow
Deny from all
Allow from 127.0.0.1 172.16.0.4

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. «apache + mod_rpaf + .htaccess» + / –
Сообщение от sofree (ok) on 31-Дек-08, 00:31

>[оверквотинг удален]
>>
>>А можно с .htaccess попробовать? Всего лишь маленький файлик.
>
>Работает нормально,
>
>Order deny,allow
>Deny from all
>Allow from 127.0.0.1 172.16.0.4
>
>пускает только с 172.16.0.4

Появилась возможность проверить баг. И так локальная сеть, Apache/2.2.10 (Fedora core 10 rus), ip=10.1.1.1 на котором крутится апач. Апач висит на 8080 (бэкэнд), а на 80 слушает nginx (фронтэнд)

И так:
[root@fc test]# cat /var/www/html/test/.htaccess
Order deny,allow
Deny from all
Allow from 10.1.1.3

Комп, с которого запрашиваю — 10.1.1.3.

You don’t have permission to access /test/ on this server.
Apache/2.2.10 (Fedora) Server at 10.1.1.1 Port 80
Лог: 10.1.1.3 — — [31/Dec/2008:00:28:28 +0300] «GET /test/ HTTP/1.0» 403 281 «-» «Mozilla/5.0 (Windows; U; Windows NT 5.2; ru-RU; rv:1.8.1.17) Gecko/20080829 SeaMonkey/1.1.12»

Случай 2.
http://10.1.1.1:8080/test/
Index of /test
[ICO] Name Last modified Size Description
[DIR] Parent Directory —
Apache/2.2.10 (Fedora) Server at 10.1.1.1 Port 8080
Лог: 10.1.1.3 — — [31/Dec/2008:00:29:12 +0300] «GET /test/ HTTP/1.1» 200 688 «-» «Mozilla/5.0 (Windows; U; Windows NT 5.2; ru-RU; rv:1.8.1.17) Gecko/20080829 SeaMonkey/1.1.12»

Прихожу к выводу, что баг прогрессирует!

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. «apache + mod_rpaf + .htaccess» +1 + / –
Сообщение от Ярослав (??) on 31-Июл-09, 20:32

А у меня получилось победить эту проблему

>[оверквотинг удален]
>http://10.1.1.1:8080/test/
>Index of /test
>[ICO] Name Last modified Size Description
>[DIR] Parent Directory —
>Apache/2.2.10 (Fedora) Server at 10.1.1.1 Port 8080
>Лог: 10.1.1.3 — — [31/Dec/2008:00:29:12 +0300] «GET /test/ HTTP/1.1» 200 688 «-»
>»Mozilla/5.0 (Windows; U; Windows NT 5.2; ru-RU; rv:1.8.1.17) Gecko/20080829 SeaMonkey/1.1.12″
>
>
>Прихожу к выводу, что баг прогрессирует!

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. «apache + mod_rpaf + .htaccess» + / –
Сообщение от sofree (ok) on 01-Авг-09, 01:27

Вот бы хорошо, чтобы автор мода
http://stderr.net/apache/rpaf/
обратил внимание на патч и подправил исходники.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. «apache + mod_rpaf + .htaccess» + / –
Сообщение от vinzz on 15-Окт-09, 09:15

этот патч решил одну проблему, но добавил другую:
теперь в конструкциях наподобие «header( ‘Location: /newpath/’ );» апачь возвращает не domain.com/newpath, а МОЙ-IP-АДРЕС/newpath

МОЙ-IP-АДРЕС — это ип с которого коннект, именно клиентского компьютера на котором открыт браузер. идеи?

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. «apache + mod_rpaf + .htaccess» + / –
Сообщение от angelina on 10-Дек-09, 11:06

>этот патч решил одну проблему, но добавил другую:
>теперь в конструкциях наподобие «header( ‘Location: /newpath/’ );» апачь возвращает не domain.com/newpath,
>а МОЙ-IP-АДРЕС/newpath
>
>МОЙ-IP-АДРЕС — это ип с которого коннект, именно клиентского компьютера на котором
>открыт браузер. идеи?

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. «apache + mod_rpaf + .htaccess» + / –
Сообщение от Avari on 21-Окт-10, 21:21

Поможет только тем, у кого апач 1.3. О чём вполне ясно написано у Сысоева. Для апача2 только mod_rpaf. Лично я категорический сторонник apache2.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. «apache + mod_rpaf + .htaccess» + / –
Сообщение от Kirill (??) on 22-Окт-10, 11:13

>[оверквотинг удален]
>>>
>>
>>Вот бы хорошо, чтобы автор мода
>>http://stderr.net/apache/rpaf/
>>обратил внимание на патч и подправил исходники.
> этот патч решил одну проблему, но добавил другую:
> теперь в конструкциях наподобие «header( ‘Location: /newpath/’ );» апачь возвращает не
> domain.com/newpath, а МОЙ-IP-АДРЕС/newpath
> МОЙ-IP-АДРЕС — это ип с которого коннект, именно клиентского компьютера на котором
> открыт браузер. идеи?

а этот глюк исправили?
нашел кто-нибудь как исправить?

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

15. «apache + mod_rpaf + .htaccess» + / –
Сообщение от baddan on 21-Апр-11, 14:56

> а этот глюк исправили?
> нашел кто-нибудь как исправить?

на debian работает
Server version: Apache/2.2.9 (Debian)
Server built: Dec 11 2010 21:34:00
nginx version: nginx/0.6.32

на CentOS отказывается
Server version: Apache/2.2.3
Server built: Jan 31 2011 17:50:30
nginx: nginx version: nginx/1.0.0

REMOTE_ADDR везде коректно правится. в логах тоже казывается правильный ip, но в centos не работает, в debian работает. в обоих практически одинаково настроены сайты. Видимо в 2.2.9 есть какието изменения которые исправляют проблему.

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» + / –
Сообщение от SatanaClause (??) on 09-Авг-11, 13:36

только что наткнулся на эту проблему. Смотрю ничего не изменилось c того времени.

.htaccess с кодом не работает

order deny,allow
deny from all
allow from 111.111.111.111

Решение простое, заменить mod_rpaf на mod_extract_forwarded

2. инсталируем mod_extract_forwarded
yum install —enablerepo=epel mod_extract_forwarded.i386

4. коректируем конфиг /etc/httpd/conf.d/mod_extract_forwarded.conf

по сути он стандартный, только меняем значени MEFaccept на нужное

>[оверквотинг удален]
> deny from all
> и соединяюсь к nginx (а он в свою очередь к apache) через
> http://external_ip/ — получаю страничку! Нету никакого Forbidden.
> Т.о., прихожу к выводу что mod_rpaf не работает в конструкциях .htaccess и
> передаёт ip frontend`а (в моём случае 127.0.0.1).
> Поискал в инете, нашёл только один подобный случай для настроек виртуал хоста:
> http://www.apsis.ch/pound/pound_list/archive/2007/2007-01/11.
> Кто-нибудь проверьте пожалуйста на практике, может у меня где-то ошибка.
> Есть ли какие-нибудь решения? Может стоит автору rpaf обратить внимание на такой
> «баг».

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» +1 + / –
Сообщение от AL (??) on 02-Мрт-12, 15:43

Вы неправильно задаёте конструкцию Order. Последовательность должна быть другой и после запятой недолжно быть пробелов.

Правильно так:
Order Deny,Allow
Deny From all
Allow From 10.1.1.1

и всё работает как надо.

Для справки. Как обрабатываются эти дериктивы:

Order Allow,Deny
Сперва, проверяются все директивы Allow; по крайней мере одна должна соответствовать, или запрос отвергается. Далее, провеляются все директивы Deny. Если какие-либо соответствуют, то запрос отвергается. В конце, любой запрос, который не соответствует директиве Allow или Deny отвергается по умолчанию.

Order Deny,Allow
Сперва, проверяются все директивы Deny; если какая-либо соответствует, то запрос отвергается, если нет соответствия в директиве Allow. Любой запрос, который не соответствует директиве Allow или Deny пропускается.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

18. «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» –1 + / –
Сообщение от Alan (??) on 02-Мрт-12, 15:49

Спасибо, но тут не в этом дело, mod_rpaf просто неподдерживает этого, так же как и аторизации. Рещение — mod_extract_forwarded.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

19. «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» + / –
Сообщение от ALex_hha (??) on 09-Мрт-12, 01:23

> Спасибо, но тут не в этом дело, mod_rpaf просто неподдерживает этого, так
> же как и аторизации. Рещение — mod_extract_forwarded.

# cat .htaccess
Order Deny,Allow
Deny From all
Allow From xxx.xxx.238.231

xxx.xxx.157.114 — — [08/Mar/2012:23:17:12 +0200] «GET /test/ HTTP/1.0» 403 283 «-» «Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2»

xxx.xxx.238.231 — — [08/Mar/2012:23:17:27 +0200] «GET /test/ HTTP/1.0» 200 61688 «-» «Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2»

[Thu Mar 08 23:17:12 2012] [error] [client xxx.xxx.157.114] client denied by server configuration: /var/www/vhosts/domain.com.ua/test/

# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: Feb 13 2012 22:31:42

# apachectl -t -D DUMP_MODULES | grep rpaf
Syntax OK
rpaf_module (shared)

# nginx -v
nginx version: nginx/0.8.54

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

20. «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» + / –
Сообщение от alan (??) on 09-Мрт-12, 01:42

Возможно mod_rpaf или apache версия играет роль, мы для семя пометили модуль как ненадежный и отказались от его использования. mod_extract_forwarded http://www.openinfo.co.uk/apache/index.html на боевый машинах с хостингом используется пол года, проблем нет, версии разные.

>[оверквотинг удален]
> CentOS-6.2
> # httpd -v
> Server version: Apache/2.2.15 (Unix)
> Server built: Feb 13 2012 22:31:42
> # apachectl -t -D DUMP_MODULES | grep rpaf
> Syntax OK
> rpaf_module (shared)
> # nginx -v
> nginx version: nginx/0.8.54
> ЧЯДНТ?

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

21 . «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» + / –
Сообщение от ALex_hha (??) on 09-Мрт-12, 02:20

> Возможно mod_rpaf или apache версия играет роль, мы для семя пометили модуль
> как ненадежный и отказались от его использования. mod_extract_forwarded http://www.openinfo.co.uk/apache/index.html
> на боевый машинах с хостингом используется пол года, проблем нет, версии
> разные.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

22 . «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» + / –
Сообщение от PavelR (ok) on 16-Мрт-12, 17:01

> Возможно mod_rpaf или apache версия играет роль, мы для семя пометили модуль
> как ненадежный и отказались от его использования. mod_extract_forwarded

Версия mod_rpaf играет роль. Используйте 0.6 или патченную 0.5.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

23 . «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» + / –
Сообщение от PavelR (ok) on 30-Мрт-12, 00:10

> Спасибо, но тут не в этом дело, mod_rpaf просто неподдерживает этого, так
> же как и аторизации. Рещение — mod_extract_forwarded.

Выше, в http://www.opennet.ru/openforum/vsluhforumID8/6014.html#17 верно написали, как правильно пользоваться директивами (Order / Allow / Deny) .htaccess

Небольшая проверка показывает, что директивы .htaccess отрабатывают идентично как при наличии, так и при отсутствии mod_rpaf-0.6.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

24 . «Не работает allow, deny, когда apache + mod_rpaf + .htaccess» + / –
Сообщение от baddan on 04-Май-12, 18:25

модуль mod_extract_forwarded не удалось скомпилить и подключить по нормальному иза ошибки какойто с прокси, в принцыпе там в исходнике правится #define, но почемуто после этого не стало работать, то что работало в centos.

вот что получилось и работает.
rpaf.conf

RPAFenable On
RPAFsethostname On
RPAFproxy_ips 184.xx.xx.xxx 127.0.0.1

Nginx. 1.2
site.net
server <
listen 80;
server_name site.net *.site.net;

# access_log /home/www/tube/site.net/log/ng-acc.log;
error_log /home/www/tube/site.net/log/ng-err.log;

location / <
proxy_pass http://184.xx.xx.xx:81;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE_ADDR $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 500m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
charset off;
track_uploads proxied 30s;
>

/contents/videos/ <
flv;
root /home/www/tube/site.net/public_html;
internal;
>

/contents/videos_sources/ <
root /home/www/tube/site.net/public_html;
internal;
>

/contents/albums/sources/ <
root /home/www/tube/site.net/public_html;
internal;
>

/contents/albums/main/700×525/ <
root /home/www/tube/site.net/public_html;
internal;
>

* ^.+\.(gif|jpg|mpg|mp3|mpeg|avi)$ <
valid_referers none blocked site.net *.site.net;
if ($invalid_referer) <
return 403;
>
root /home/www/tube/site.net/public_html;
>

/admin/include/get_upload_status.php <
report_uploads proxied;
# upload_progress_header hash;
upload_progress_jsonp_output;
>
>

———————————
Order Allow,Deny
с пробелом без пробелом в обратном порядке и вовсе без ordera обрабатывается одинаково.
всем удачи.

Источник

Читайте также:  Плита deluxe classic plus не работает духовка
Оцените статью