LINUX.ORG.RU
ФорумAdmin

Сохранение url при Proxy_pass переходе nginx

 


0

1

Всем привет! Есть проблема, поскольку не совсем по моей специфике, прошу совета. 1)Есть сервер, на нем крутится nextcloud, у него собственный nginx, который работает на Ip.адресе(не домен, формат 192.168.10.10:80) 2)Есть «главный» Nginx сервер на домене(domen.ru), к которому этот нужно прицепить. На нем крутятся в контейнерах сервисы, но все на этой же машине, так что опыт удаленного серва первичен. Текущая конфигурация, связанная с сервом такая:

location /testnextcloud/ {
   proxy_pass http://192.168.10.10:80/testnextcloud/;
  #proxy_set_header Host $host;
}

Теперь головная боль:

  1. В текущем виде нормально получается редирект, и меняется url на 192.168.10.10, не есть хорошо. 2)Если раскомментировать строку с хедером, то происходит редирект на главную страницу (domen.ru) вместо domen.ru/testnextcloud 3)Если в proxy_pass http://192.168.10.10:80 без /testnextcloud, то не грузятся ресурсы( Адрес вместо domen.ru/testnextcloud/resources становится domen.ru/resources и естественно там ничего не находится.)

Цель получить рабочий прокси: https://domen.ru/testnextcloud полностью соответствует http://192.168.10.10, при этом «снаружи» выглядит как https://domen.ru/testnextcloud и не ругается на безопасность и тд.

Просьба сильно не ругаться и ткнуть, если уже был такой вопрос Заранее спасибо!

Думаю без настроек самого nextcloud-а не обойтись - он так или иначе должен знать свой внешний адрес, или хотя бы префикс урла ‘testnextcloud’ чтобы правильно составлять урлы.

nginx может это сам добавлять в http-редиректы и в пути куков (proxy_redirect, proxy_cookie_domain, proxy_cookie_path), которые nextcloud отдаёт, но не в html.

Без передачи Host у тебя скорее всего редирект правильно работал как раз из-за дефолтного поведения директивы proxy_redirect.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)