Добрый день.
У меня такая ситуация: есть один внешний 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 и прочие локейшены не фигурировали в запросе к бекенду? Пытаюсь разобраться самостоятельно, но что-то не догоняю.
Буду очень благодарен за совет.