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

Как сделать замену url в nginx, без изменения самого запроса?

Здравствуйте, у меня есть kvm Raritan, которая умеет отдавать прямое управление хостом через URL (Direct Access via url).
вот такого вида https://ip_raritan/dpa.asp?portname=XXX&username=&....
Эта ссылка открывает отдельное окошко с непосредственным доступом к нужному хосту.

И есть задача, в которой нужно с помощью ссылки типа ip_address/raritan/portname=XXX, перенаправлять запрос к раритану подставив только имя порта (portname)

Я делаю это через Nginx, так
location /raritan {
		rewrite ^(/*/.*)/portname=(.*) https://<ip_raritan>/dpa.asp?portname=$2&username=user&password=password last;
    }


Всё это работает, но как видно запрос содержит пароль обычным текстом.

В связи с этим такой вопрос, можно ли в Nginx оставить запрос таким же, то есть чтобы раритан получал правильный запрос и открывал нужное окно, но при этом URL в браузере не светил паролем. В идеале чтобы он (URL), оставался таким ip_address/raritan/portname=XXX?
  • Вопрос задан
  • 227 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dodo512
rewrite ^(/*/.*)/portname=(.*) https://<ip_raritan>/dpa.asp?portname=$2&username=user&password=password last;

Просто убрать https://<ip_raritan>. Тогда перенаправление будет внутренним и не будет редиректа с кодом 302 и в браузере URL не будет меняться.
rewrite ^(/.*)/portname=(.*) /dpa.asp?portname=$2&username=user&password=password last;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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