Access forbidden by rule

Access forbidden by rule

Прошу помощи у гуру:

конфигурация:
server <
listen 94.64.37.90:44410;

location /iweb/ <
root /opt/jakarta-tomcat-5.5.9/webapps;
proxy_pass http://94.64.37.90:8000;
proxy_redirect http://127.0.0.1:8080/ http://94.64.37.90:44410/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;

access_log /var/log/iweb/admin_access.log;
error_log /var/log/iweb/admin_error.log notice;

Необходимо, чтобы по адресу: http://94.64.37.90:44410/iweb/roles был открыт доступ в браузере.
В настоящее время ответ в браузере таков:
403 Forbidden
nginx/0.7.67

логи:
iweb
112.88.89.142 — — [27/Sep/2015:23:22:39 +0300] "GET /iweb/roles/ HTTP/1.1" 403 571 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36"

2015/09/27 23:22:39 [error] 18398#0: *7 access forbidden by rule, client: 112.88.89.142, server: localhost.localdomain, request: "GET /iweb/roles/ HTTP/1.1", host: "94.64.37.90:44410"

nginx
112.88.89.142 — — [27/Sep/2015:23:22:49 +0300] "-" 400 zzz 57666 — 0 "-" "-" "-"
error.log пуст

Заранее благодарна за помощь

Выполнила оба совета : результата нет

server <
listen 94.64.37.90:44410;

location /iweb/ <
root /opt/jakarta-tomcat-5.5.9/webapps;
proxy_pass http://94.64.37.90:8000;
proxy_redirect http://127.0.0.1:8080/ http://94.64.37.90:44410/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
deny all;
allow 112.88.89.142;

access_log /var/log/iweb/admin_access.log;
error_log /var/log/iweb/admin_error.log notice;
>
>

Владелец root
группа root

user nginx;
worker_processes 4;
worker_rlimit_nofile 16384;

не понятно, где у вас инстанс явы запущен ?
netstat -tan | grep LISTEN
покажите
почему-то мой ответ еще не опубликован

pupseg, Мой ответ не публикуется пока-что. Могу я Вам сюда скопировать?

kgtu5, Могу я попросить Вас объяснить по пунктам, какие шаги мне сделать для безопасности?

полное сообщение не появляется , вот ответ на команду netstat -tan | grep LISTEN по используемым портам 80, 8080, 44410:

tcp 0 0 ::ffff:127.0.0.1:8080 . * LISTEN
tcp 0 0 94.64.37.90:44410 0.0.0.0:* LISTEN
tcp 0 0 94.64.37.90:80 0.0.0.0:* LISTEN

проверила на самой машине загрузку по адресу:
http://localhost:8080/iweb/roles/ — загрузилось нормально

ТС, для публикации больших конфигов или результатов работы команд, удобней (и наглядней) делать так

Читайте также:  4Pda не скачиваются файлы ошибка 404

команда | nc termbin.com 9999

и далее публиковать ссылку на termbin.com

доступ на сервер извне есть?
по ssh открыт доступ только для одного IP

А что за приложение ?
У nginx несколько необычное неожиданное поведение в некоторых случаях :
если там изначально авторизация на уровне приложения и первая же страничка отдает 403 и формочку для входа, то nginx передаст тот же код , но заменит html странички-ответа.
Попробуйте тогда proxy_intercept_errors off;

В приложении все страницы .jsp, например страничка авторизации: loginform.jsp

С явой я плохо знакома но на странице входа в коде:

Меня сейчас волнует, что nginx выдает ошибку 403. С контентом страниц я буду разбираться после получения доступа в браузере к ним.

правильнее наверно сначала deny all, затем allow.

Правила проверяются в порядке их записи до первого соответствия.

ТС, для публикации больших конфигов или результатов работы команд, удобней (и наглядней) делать так

команда | nc termbin.com 9999

и далее публиковать ссылку на termbin.com

Спасибо за совет, попробую использовать.

по ssh открыт доступ только для одного IP

Для 44410-го порта можно сделать так же.

Меня сейчас волнует, что nginx выдает ошибку 403. С контентом страниц я буду разбираться после получения доступа в браузере к ним.
А я как раз описал ситуацию, когда контент и заголовки от бекэнда важны и с ними уже надо разбираться. Просто проверьте как работает та директива.

Если вообще ничего не поможет включите debug_connection для своего клиентского IP и анализируйте логи. Информации там очень много и обычно это помогает понять что происходит.

для начала уберите ограничение по ip и сделайте чтоб заработало.
потом можно настроить ограничение
смотрите error лог nginx

Читайте также:  Arduino pro mini i2c

Уточняю:
1. на хосте( апач+ nginx) висит сайт, который прекрасно виден при входе через доменное имя.
2. Там же пшп-админ, в который тоже вхожу.
3. а вот при редиректе с порта джакарты по умолчанию 8080 (это необходимо, чтобы джакарта не конфликтовала с апачем) тот сервер, что в джакарте получает ошибку 403 именно в nginx.

Отсюда вывод: я прописала редирект в файле nginx.conf. с ошибками.
Именно в этом я прошу помочь не: подсказать где у меня ошибки в написании правила в nginx.

А я как раз описал ситуацию, когда контент и заголовки от бекэнда важны и с ними уже надо разбираться. Просто проверьте как работает та директива.

Если вообще ничего не поможет включите debug_connection для своего клиентского IP и анализируйте логи. Информации там очень много и обычно это помогает понять что происходит.

proxy_intercept_errors off; — никаких изменений

unknown directive "debug_connection" in /etc/nginx/nginx.conf:140

это надо сначала погуглить, а потом внимательно смотреть в лог и думать.
Думаю, что функция debug отсутствует

server <
listen 94.64.37.90:44410;
error_log /var/log/iweb/log debug;

location /iweb/ <
proxy_pass http://94.64.37.90:8080;
proxy_redirect http://127.0.0.1:8080/ http://94.64.37.90:44410/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
allow 212.28.89.142;
deny all;

access_log /var/log/iweb/admin_access.log;
# error_log /var/log/iweb/admin_error.log notice;
>
>

В файле лога только такая запись:2015/09/29 00:03:36 [error] 7521#0: *5 access forbidden by rule, client: 112.88.89.142, server: localhost.localdomain, request: "GET /iweb/roles/ HTTP/1.1", host: "94.64.37.90:44410"
2015/09/29 00:03:36 [error] 7521#0: *5 access forbidden by rule, client: 112.88.89.142, server: localhost.localdomain, request: "GET /iweb/roles/ HTTP/1.1", host: "94.64.37.90:44410"

Думаю, что функция debug отсутствует
Вообще, маловероятно. Это еще надо постараться так собрать. Дистрибутивы и репозитарии обычно собирают с отладкой.

Читайте также:  44 Телефонный код какой страны снимают деньги

allow 212.28.89.142 ..
access forbidden by rule, client: 112.88.89.142
а циферки то отличаются. Напутали тут на форуме или в конфиге ?

Вообще, маловероятно. Это еще надо постараться так собрать. Дистрибутивы и репозитарии обычно собирают с отладкой.

а циферки то отличаются. Напутали тут на форуме или в конфиге ?

I want to setup phppgadmin, postgresql is already — done by following this article

but I have nginx,

I did so far these configs:

but I am getting:

the error.log says:

but still the same 403 message. what am I doing wrong?

1 Answer 1

Access forbidden by rule mean that the access of the desired page was dropped by rule you have put in your configuration.

Just try to remove rule on each location to see which is cause problem.

Comments

Copy link Quote reply

binarykitchen commented May 6, 2015

I am seeing the above error in the nginx error log. This for owncloud v8.0.3 on Ubuntu 14.10

Furthermore I have the system cron option enabled under admin settings and am seeing this one warning as well:

This here is my nginx configuration. I haven’t changed it after the migration from v7 to v8 so maybe there is an error?

Ссылка на основную публикацию
Adblock detector