Задать вопрос

Nginx прокси с передачей запросов без изменения?

Есть виртуалка в домашней сети с nginx, который проксирует запросы на другие виртуалки (в частности с owncloud и zabbix). Мне нужно перед ней поставить еще один nginx прокси, который будет просто навешивать ssl letsencrypt и, самое главное, находится при этом в Европе и общаться с прокси в локальной сети через туннель. Хочу, чтобы наружная часть была "где-то там", но, при этом, общение в туннеле было только с одной виртуалкой и одним прокси.
Сейчас на первом прокси (на VPS) конфиг такой:

server {
        listen 443 ssl http2;
#        listen [::]:443 ssl http2;

        server_name cloud.:::;

        ssl_certificate /etc/letsencrypt/live/:::/fullchain.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/:::/chain.pem;
        ssl_certificate_key /etc/letsencrypt/live/:::/privkey.pem;

        index index.html index.htm index.php /index.php$request_uri;
        try_files $uri $uri/ /index.php =404;

        location / {
                allow all;
                proxy_set_header X-Forwarded-Host $http_host;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_pass http://192.168.101.146;
        }
}

При этом, на виртуалке со вторым прокси (192.168.101.146) в логах такое:

10.0.100.1 - - [19/Apr/2023:23:51:47 +0300] host=cloud.::: "GET / HTTP/1.1" 301 169 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.48" "-"

Естественно, страница не открывается и в браузере ошибка ERR_TOO_MANY_REDIRECTS.
  • Вопрос задан
  • 272 просмотра
Подписаться 2 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • REBRAIN
    LEPP Stack
    2 месяца
    Далее
  • Академия Эдюсон
    DevOps-инженер + ИИ
    7 месяцев
    Далее
  • ProductStar × РБК
    Профессия DevOps-инженер + ИИ
    5 месяцев
    Далее
Решения вопроса 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Я так подозреваю, виртуальный сервер редиректит на https, но внешний nginx передаёт запросы только на http (по умолчанию). Поменяйте на proxy_pass https://192.168.101.146/;, и все завертится...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы