Nginx переписывает и перенаправляет URL-адрес

#redirect #nginx

#перенаправление #nginx

Вопрос:

Я изо всех сил пытаюсь переписать и перенаправить URL.

Внешний URL-адрес является www.mydomain:443/app1 . Внутренний URL-адресhttps://192.168.1.2:8080. Nginx работает на 192.168.1.1. Я попробовал несколько вещей, просматривая документы и форум. Приведенный ниже код возвращает меня к устройству, но страница возвращается пустой. Я пытался переписать и перенаправить, но безуспешно.

 location /app1/ {
   if ($request_uri ~* "/app1/(.*)") { 
        proxy_pass  https://192.168.1.122:8080;
   }
}
  

Комментарии:

1. Я очень смущен относительно а) в чем заключается ваша проблема и б) Чего вы пытаетесь достичь. Можете ли вы попытаться перефразировать свою ситуацию и то, чего вы пытаетесь достичь?

2. Попытка перенаправить внешние URL-запросы, идущие на www.mydomain:443/app1 на внутренний URL-адрес 192.168.1.2:8080 . Proxy_pass обработает перенаправление IP и порта, но я не уверен, как удалить вложенную папку app1 из запроса URL. Простое использование прокси-передачи дает 192.168.1.2 /app1:8080 вместо 192.168.1.2:8080 . Надеюсь, это более понятно.

Ответ №1:

Основываясь на комментарии, я думаю, вы имеете в виду:

 server{
    listen 443 ssl;
    server_name www.mydomain;

    #Your ssl stuffs here

    location /app {
        proxy_pass https://192.168.1.122:8080;
        #Other proxy params here
    }
}
  

Комментарии:

1. Однако вы говорите, что NGINX работает на 192.168.1.1 . Итак, я предполагаю, что у localhost есть этот IP, что означает, что вам нужно будет иметь что-то, обрабатывающее запрос на 192.168.1.122:8080 . Вы также упоминаете что-то о 192.168.1.2 . Была ли это опечатка?

2. 192.168.1.2 — это то устройство, на котором размещено app1. Nginx работает на 192.168.1.1. Нет 192.168.1.122. Да, это была опечатка.

3. Стандартный proxy_pass выводит меня на общую страницу с надписью «Добро пожаловать в nginx». Перезапись и proxy_pass, кажется, приближают меня. Страница загружается, но остается пустой. В журнале отображается «GET /api/4/ HTTP/1.1» 404.