#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.