Я пытаюсь настроить обратный прокси-сервер для контейнера докеров, используя nginx.
Докер-контейнер доступен и работает на порту 8000.
Я хотел бы иметь доступ к контейнеру по адресу mydomain.com:80/mycontainer.
Обратному прокси-серверу, похоже, удается связаться с контейнером, но когда контейнер запрашивает перенаправление на свою страницу входа, nginx пытается загрузить страницу входа на порт 80 вместо 8000, что терпит неудачу.
это моя конфигурация nginx на данный момент:
вышестоящий докер-контейнер {
сервер 127.0.0.1:8000;
}
сервер {
слушать 80;
расположение /мойконтейнер {
прокси_перенаправление выключено;
proxy_set_header Хост $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header Обновить $http_upgrade;
proxy_set_header Соединение "обновление";
proxy_pass http://docker-контейнер;
}
}
Вот что я получаю, когда бегу wget -S 127.0.0.1/мойконтейнер
:
wget -S 127.0.0.1/мойконтейнер
--2021-08-29 20:30:12-- http://127.0.0.1/mycontainer
Подключение к 127.0.0.1:80... подключено.
HTTP-запрос отправлен, ожидается ответ...
HTTP/1.1 302 Найдено
Сервер: nginx/1.18.0 (Ubuntu)
Дата: воскресенье, 29 августа 2021 г., 20:30:12 по Гринвичу
Content-Type: текстовый/обычный; кодировка = utf-8
Длина содержимого: 28
Соединение: Keep-alive
Язык содержания: en
Параметры X-Frame: SAMEORIGIN
X-Параметры загрузки: noopen
X-Content-Type-Options: nosniff
Referrer-Policy: происхождение-при-перекрестном происхождении
X-XSS-защита: 1; режим = блок
Расположение: /логин
Варьировать: принять
Set-Cookie: какой-то файл cookie
Расположение: /login [следующий]
--2021-08-29 20:30:12-- http://127.0.0.1/login <--- ВОТ ПРОБЛЕМА. Должно быть 127.0.0.1:8000/логин
Повторное использование существующего подключения к 127.0.0.1:80.
HTTP-запрос отправлен, ожидается ответ...
HTTP/1.1 404 не найден
Сервер: nginx/1.18.0 (Ubuntu)
Дата: воскресенье, 29 августа 2021 г., 20:30:12 по Гринвичу
Тип содержимого: текст/html
Длина содержимого: 162
Соединение: Keep-alive
2021-08-29 20:30:12 ОШИБКА 404: не найдено.
Я ни в коем случае не профессионал в этом, поэтому я уверен, что есть много ошибок.
Как я могу заставить автоматические перенаправления указывать на правильный порт (8000), а не на порт 80?