Рейтинг:0

Порядок сопоставления местоположения Nginx

флаг th

Я прочитал несколько статей о сопоставлении nginx, и они сказали, что более длинный блок местоположения должен сопоставляться первым.

Однако, когда я пытаюсь настроить прокси для двух местоположений, первое место получает весь трафик, а второе не получает его.

Это конфигурация моего сервера.

сервер {
слушать 80;
имя_сервера IP;
#возврат 301 https://$host$request_uri;
# nginx/сайты-доступны/fdp.conf

местоположение /lls/ {
    proxy_set_header Хост $host;
    proxy_set_header X-Forwarded-Proto $ схема;
    proxy_pass_request_headers включен;
    прокси_пароль http://IP:8080;
}

место расположения / {
    proxy_set_header Хост $host;
    proxy_set_header X-Forwarded-Proto $ схема;
    proxy_pass_request_headers включен;
    прокси_пароль http://IP:8000/;
}
}

Почему nginx не перенаправляет трафик на прокси /lls? Я также пытался использовать местоположение регулярного выражения ~/lls, но здесь тоже не повезло. Оба приложения запускаются, когда я посещаю порты на IP.

У меня есть приложение, работающее под портом 8000. Моя цель — добавить второе приложение, работающее под /lls. Для этого я хочу, чтобы весь трафик направлялся на порт 8000, если только /lls не указан в URL-адресе, тогда я хочу, чтобы весь трафик направлялся на второе приложение на порту 8080. В текущей ситуации трафик, предназначенный для порта 8080, перехватывается портом 8000.

Вывод curl -v IP/lls:

* Пробуем IP:80...
* Установлен TCP_NODELAY
* Подключен к IP (IP) порту 80 (#0)
> ПОЛУЧИТЬ /lls HTTP/1.1
> Хост: IP
> Пользовательский агент: curl/7.68.0
> Принять: */*
>
* Отметить комплект как не поддерживающий многоразовое использование
< HTTP/1.1 400
< Сервер: nginx/1.18.0 (Ubuntu)
< Дата: суббота, 09 октября 2021 г., 08:41:47 по Гринвичу
< Тип содержимого: текст/черепаха
< Transfer-Encoding: фрагментировано
< Соединение: поддержание активности
<Доступ-Контроль-Разрешить-Происхождение: *
< Access-Control-Allow-Headers: Origin, Authorization, Accept, Content-Type
< Access-Control-Expose-Headers: Location, Link
< Разрешить: ПОЛУЧИТЬ, ПОСТАВИТЬ, ПОСТАВИТЬ, ИСПРАВИТЬ, УДАЛИТЬ
< Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE
< X-Content-Type-Options: nosniff
< X-XSS-защита: 1; режим = блок
< Cache-Control: без кеша, без хранения, max-age=0, обязательна повторная проверка
<Прагма: без кеша
< Срок действия: 0
< X-Frame-Options: DENY
<
* Соединение №0 с IP-адресом хоста осталось нетронутым

Выход lsof-Pi: 8080

КОМАНДА PID ПОЛЬЗОВАТЕЛЬ ТИП FD УСТРОЙСТВО РАЗМЕР/ВЫКЛ НАЗВАНИЕ УЗЛА
docker-pr 2698710 root 4u IPv4 8351515 0t0 TCP *:8080 (СЛУШАТЬ)
docker-pr 2698721 root 4u IPv6 8351519 0t0 TCP *:8080 (СЛУШАТЬ)

Выход lsof-Pi: 8000

 КОМАНДА PID ПОЛЬЗОВАТЕЛЬ ТИП FD УСТРОЙСТВО РАЗМЕР/ВЫКЛ НАЗВАНИЕ УЗЛА
docker-pr 2615262 root 4u IPv4 7781060 0t0 TCP *:8000 (СЛУШАТЬ)
docker-pr 2615267 root 4u IPv6 7781066 0t0 TCP *:8000 (СЛУШАТЬ)
флаг cn
Комментарии не для расширенного обсуждения; этот разговор был [перемещен в чат] (https://chat.stackexchange.com/rooms/130389/discussion-on-question-by-moopsish-nginx-location-matching-order).

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

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