Рейтинг:0

Еще один revproxy nginx + перезапись + маска URL

флаг us

Я знаю, что было много сообщений о nginx + rewrite, но у меня был случай, когда я не мог заставить его работать должным образом.

У меня есть несколько докеризированных фляжных приложений, назовем их: vm1,вм2,вм3...вм6

У меня есть домен: manager.mydomain.com

Чего я хотел бы достичь: когда пользователь переходит к https://manager.mydomain.com/vm6

перенаправляется, например, на

https://manager.mydomain.com/vm6/логин (и другие конечные точки /admin ....)

Так что вообще говоря, что покрыто https://manager.mydomain.com/vm6/(.*) перенаправляется в приложение фляги. К сожалению, есть ссылки, которые также необходимо переписать.

Моя текущая пробная версия:

http {

  восходящий менеджер vm4 {
    наименьшее_соединение;
    сервер ХХХ:5004;
}

  восходящий менеджерvm6 {
    наименьшее_соединение;
    сервер ГГГГ:5006;
}

  сервер {

    имя_сервера manager.mydomain.com;

    слушать 443 ssl;

    ssl_certificate /etc/letsencrypt/live/manager.mydomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/manager.mydomain.com/privkey.pem;

    журнал_доступа /var/log/nginx/dtmanager.access.log;
    error_log /var/log/nginx/dtmanager.error.log;

    log_subзапрос включен;

    местоположение / vm6 {
      переписать ^/vm6$ https://manager.mydomain.com/vm6/ на постоянную;
    }


    местоположение /vm6/ {
      #переписать /vm6/(.*) /vm6/$1 break;
      sub_filter '"/' '"/vm6/';
      sub_filter_once выключен;
      прокси_пароль http://managervm6/;
      #proxy_redirect выключен;
      proxy_set_header Хост $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-Proto https;
    }
}

Когда я перемещаюсь curl -i https://manager.mydomain.com/vm6/admin получаю в ответ:

Сервер: nginx/1.13.9
Дата: пт, 02 июля 2021 г., 09:14:40 по Гринвичу
Тип содержимого: текст/html; кодировка = utf-8
Передача-кодирование: по частям
Соединение: Keep-alive
Адрес: http://manager.mydomain.com/admin/

НО, если я перейду к curl -i https://manager.mydomain.com/vm6/логин Я получаю правильный ответ, но затем авторизация не работает (я думаю, что-то не так с перенаправлениями)

Что я делаю не так? Спасибо!

morf avatar
флаг us
Я предполагаю, что это что-то с заголовками ответов, которые также следует изменить.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.