- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
ОС - 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 с которого соединяюсь]
Если я лезу на апач "напрямую", минуя nginx, через 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/1169244573000
Кто-нибудь проверьте пожалуйста на практике, может у меня где-то ошибка.
Есть ли какие-нибудь решения? Может стоит автору rpaf обратить внимание на такой "баг"?
Кто-нибудь проверьте пожалуйста на практике, может у меня где-то ошибка.
Есть ли какие-нибудь решения? Может стоит автору rpaf обратить внимание на такой "баг"?
Имею мнение, что mod_rpaf меняет адрес на уровне логгирования и забивания переменных сессии, но не трогает проверку по адресу в allow/deny.
Как я могу ещё установить, на виртуальном хостинге РБК fe36-1.hc.ru, работает nginx + Apache 1.3. Так вот так allow, deny отрабатывается нормально. Но там стоит модуль скорее всего mod_realip - http://sysoev.ru/mod_realip/
Данный баг проверили бы те, у кого есть возможность. Просто написать .htaccess - и посмотреть результат...
Если баг такой есть, то, думаю, надо написать автору mod_rpaf, чтобы разобрался... Ведь у Игоря Сысоева всё получилось с Apache 1.3.
Баг есть. Лечится так: кладём в .htaccess или ещё куда-то
10.11.12.13 - ip адрес друзей.
http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html
****
Апач даёт
Forbidden
You don't have permission to access...
Хотя казалось бы указано allow from [ip с которого соединяюсь]
**
а в еррор_логе какой ип получил 403 при этом?
когда апач у вас висит не на 127.0.0.1 коннект с "самой себя " машины (от нгинкса) к нему пойдет с реалИП апача, а не с 127 0 0 1
есть у меня rpaf , правда апачик /2.0.63
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFproxy_ips 127.0.0.1 (адрес апача собственно)
и в ингинксе
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
может натолкнет на что-либо..
Pilat, большое спасибо. Работает!
Тут обсуждалась эта проблема и альтернативное решение.
Делается по возможности или в .htaccess, как написали выше.
Или патчится mod_rpaf:
меняем APR_HOOK_MIDDLE на APR_HOOK_FIRST
Или патчится mod_rpaf:
меняем APR_HOOK_MIDDLE на APR_HOOK_FIRST
Может быть у меня какой-то не такой исходный код, однако в 0.6 уже по умолчанию идет ARP_HOOK_FIRST. Но это все равно не спасает.
В топике, ссылку на который привел Boris A Dolgov, приведен код модуля mod_realip2, в котором обсуждаемая проблема отсутствует.
как вариант - подобный функционал есть в nginx, так что там можно легко реализовать конструкции вида
allow from [ip с которого соединяюсь]
allow from 127.0.0.1
deny from all
через
ngx_http_access_module
как пример
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
deny all;
}
Лучше поставить mod_realip2, в принципе тут уже Boris A Dolgov посоветовал.