Я использую NGINX для proxy_pass
все запросы с префиксом /авторизация/
на сервер API nodejs по адресу локальный: 3000
.
У меня есть этот единственный файл конфигурации /etc/nginx/sites-enabled/default3.conf
:
сервер {
местоположение / авторизация / {
переписать /auth/(.+) /$1 break;
прокси_пароль http://127.0.0.1:3000;
прокси_перенаправление выключено;
proxy_set_header HOST $хост;
}
}
Он отлично работает для большинства моих запросов (вместо GET http://локальный:3000/выход из системы
, ПОЛУЧАТЬ http://локальный/аутентификация/выход из системы
будет работать как положено), за исключением этого запроса GET http://локальный/аутентификация/документы
, который должен сопоставляться с http://локальный: 3000/документы
но я получил перенаправление:
HTTP/1.1 301 перемещен навсегда
Сервер: nginx/1.18.0 (Ubuntu)
Дата: среда, 15 декабря 2021 г., 01:59:02 по Гринвичу
Тип содержимого: текст/html; кодировка = UTF-8
Длина контента: 175
X-Powered-By: Экспресс
Доступ-Контроль-Разрешить-Происхождение: *
Content-Security-Policy: default-src 'none'
X-Content-Type-Options: nosniff
Местонахождение: /документы/
затем 404 NOT FOUND вместо этого:
HTTP/1.1 404 не найден
Сервер: nginx/1.18.0 (Ubuntu)
Дата: ср, 15 декабря 2021 г., 03:20:26 по Гринвичу
Тип содержимого: текст/html
Передача-кодирование: по частям
Соединение: Keep-alive
Кодировка содержимого: gzip
Кажется, когда я ПОЛУЧАЮ http://локальный/аутентификация/документы
, запрос попал на мой сервер nodejs, но затем был перенаправлен обратно на http://локальный/документы
, но как это могло быть возможно? Я все еще могу ПОЛУЧИТЬ http://локальный: 3000/документы
без проблем.
ОБНОВЛЕНО
http://локальный: 3000/документы
здесь я использую пользовательский интерфейс Swagger для серверного API, используя модуль npm чванство-UI-экспресс
.