Welcome! Log In Create A New Profile

Advanced

Редирект и прокси

Posted by Riekee 
Редирект и прокси
May 13, 2012 10:39AM
Добрый день.

У меня такая ситуация: есть один внешний ip адрес, на нём nginx принимает ssl соединения, сертификат самый дешёвый, защищает только один адрес. Мне нужно сделать доступными несколькo локальных ресурсов не нарушая сертификат. Выход вижу только один: проксировать+переписывать uri таким образом:

mydomain.com/site1 -> site1.local
mydomain.com/site2 -> site2.local
mydomain.com/site3 -> site3.local

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

mydomain.com/deluge -> deluge.local:8112

Прописываю так:

location /deluge {
proxy_set_header Host deluge.local;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://deluge.local:8112;
}

и получаю закономерную ошибку 404, т.к. nginx выполняет запрос вида http://deluge.local:8112/deluge/а мне в нём /deluge не нужно. Соответственно, когда я попробую таким образом выставить наружу сайт-визитку, получу фигню:

вместо vizitka.local/about/history/2009 на vizitka.local придёт запрос vizitka.local/vizitka/about/history/2009

Как написать правило таким образом, чтобы /deluge, /vizitka и прочие локейшены не фигурировали в запросе к бекенду? Пытаюсь разобраться самостоятельно, но что-то не догоняю.

Буду очень благодарен за совет.
Re: Редирект и прокси
May 13, 2012 11:18AM
Нашёл рецепт:

location /deluge/ {
proxy_set_header Host deluge.local;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
rewrite ^/deluge/(.*)$ /$1 break;
proxy_pass http://deluge.local:8112;
}

Nginx дёлает всё как нужно, но вылезла проблема, которую я не предвидел и которую решить таким образом нельзя: в коде отдаваемых страниц отсутствует это самое /deluge/, т.к. бэкенд ни сном ни духом относительно того, что его таким вот своеобразным способом проксируют. Похоже, это неразрешимо.
Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 215
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready