LINUX.ORG.RU
решено ФорумAdmin

Не работает редирект nginx

 


0

3

Приветствую, коллеги!

Мои пляски с бубном вокруг веб-серверов продолжаются.Ситуация следующая:

  • на границе с Интернетом стоит nginx, который перекидывает запросы на внутренние веб-сервера.
  • на один из внутренних апачей редирект не срабатывает.

Конфигурация на nginx:

# cat /etc/nginx/sites-available/mediawiki.conf
server
{
        listen 443;
        ssl on;
        ssl_certificate /etc/nginx/ssl/nginx.crt;
        ssl_certificate_key /etc/nginx/ssl/nginx.key;

        server_name mediawiki.XXX.com;
        location / {
                proxy_pass http://192.168.254.112;
                proxy_set_header        Host $host;
                proxy_set_header        X-Real-IP $remote_addr;
                #proxy_set_header       X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header        X-Forwarded-For $remote_addr;
                #proxy_set_header        X-Forwarded-Proto $scheme;
        }
}

Соответственно, 192.168.254.112 - внутренний адрес апача, на котором стоит редирект на подпапку с mediawiki с помощью RedirectMatch.

При обращении к сайту по имени из интернета, nginx редирект не выполняет, говорит 404, а в логах ошибка:

2015/12/14 15:14:39 [error] 29122#0: *56 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: X.X.X.X, server: mediawiki.XXX.com, request: "GET /favicon.ico HTTP/1.1", host: "mediawiki.XXX.com"
Подскажите, кто знает, где искать ошибку? :-(



Последнее исправление: cetjs2 (всего исправлений: 3)

апача, на котором стоит редирект на подпапку с mediawiki с помощью RedirectMatch.

так нужно конфиг апача, nginx у тебя просто проксирует, редирект именно апач отдает

Prius
()
Ответ на: комментарий от Prius

Так собственно редирект производится через хтаксесс, который лежит в /var/www/html, а там всего одна строчка
RedirectMatch «^/$» «/mediawiki/»

alexnorton
() автор топика
Ответ на: комментарий от alexnorton

А что при запросе пишется в логах апача?
Кстати, у меня есть подозрение, что ты мог не подключить конфиг nginx в sites-enabled из sites-available, потому что та ошибка, которую ты привел, из той секции server, которая у тебя, появляться не может.

Prius
()
Последнее исправление: Prius (всего исправлений: 1)
Ответ на: комментарий от Prius
# ls /etc/nginx/sites-enabled/
gitlab.conf     mon.conf        pwm.conf      seafile.conf  svn.conf   zimbra.conf
mediawiki.conf  observium.conf  redmine.conf  status        wiki.conf


 ls /etc/nginx/sites-available/
default      mediawiki.conf  observium.conf  redmine.conf  status    wiki.conf
gitlab.conf  mon.conf        pwm.conf        seafile.conf  svn.conf  zimbra.conf

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

alexnorton
() автор топика
Ответ на: комментарий от alexnorton

копировать только не надо. для этого есть симлинки из sites-available в sites-enabled. потом сам запутаешься, где правки вносил и почему не работает.

SevikL ★★★★★
()
Ответ на: комментарий от SevikL

Теперь понял.

В error логе апача только сообщения о перезапусках сервера.
В access логе апача сообщений об успешном соединении не появляется.

alexnorton
() автор топика
Ответ на: комментарий от SevikL

копировать только не надо. для этого есть симлинки из sites-available в sites-enabled.

А на обработку конфигов сервером это влияет?

alexnorton
() автор топика
Ответ на: комментарий от alexnorton

нет, не влияет. говорю же, путаница возникнет, рано или поздно.

но 99 из 100, что проблема в апаче, а не в nginx'e. добавляй уровней логгирования в апач и смотри в access.log

SevikL ★★★★★
()
Ответ на: комментарий от SevikL

Я сделал чистую установку, проблема такая же.

Тему с редиректом на апаче я недавно поднимал, https://www.linux.org.ru/forum/admin/12186433 видимо найденное мной решение не подходит для моего случая.

alexnorton
() автор топика
Ответ на: комментарий от alexnorton

После долгих издевательств над тестовой машиной выяснил, что на оригинальной у меня в hosts прописан внутренний адрес с привязкой зачем-то к внешнему имени. Удалил - и проксирование заработало.Уф. Всем спасибо за участие.

alexnorton
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.