Я настроил nginx как обратный прокси для двух проксируемых серверов. Каждый из них (прокси и прокси-серверы) работает как контейнер в среде докера. Прокси-сервер аппальфа
это просто Nginx: альпийский
обслуживание статической веб-страницы (только для демонстрации и тестирования). Здесь все работает отлично, потому что все просто.
Изображение другого прокси-сервера канборд/канборд
. Когда я пытаюсь получить доступ к этой службе через обратный прокси-сервер по адресу https://example.com/kanboard/
Сначала я получаю ожидаемый http-ответ с кодом состояния 302 (найдено)
. Но заголовок установлен на Расположение: /логин
(т.е. указывая на мой обратный прокси), которого не существует. Я ожидаю увидеть поле заголовка Расположение: /kanboard/логин
здесь.
Я безуспешно пытался использовать несколько предложенных конфигураций:
- без
proxy_redirect
- с
proxy_redirect
- с
переписать
(что здесь не совсем правильно, насколько я понимаю)
- с
возвращаться
(что и здесь не подходит, верно?!)
Что я делаю не так?
Мой прокси.conf
список обратных прокси-серверов nginx выглядит следующим образом:
сервер {
слушать 443 ssl http2;
имя_сервера пример.com;
server_tokens отключены;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_session_cache встроенный: 1000 общий: SSL: 10 м;
ssl_протоколы TLSv1.3;
ssl_ciphers "HIGH !aNULL !eNULL !EXPORT !CAMELLIA !DES !MD5 !PSK !RC4";
ssl_prefer_server_ciphers включен;
журнал_доступа /var/log/nginx/nginx-2443.log;
proxy_cache_valid любые 1с;
местоположение / альфа {
proxy_set_header Хост $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-Proto $ схема;
прокси_пасс http://appalpha/;
}
расположение /eval_kanboard {
proxy_set_header Хост $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-Proto $ схема;
прокси_пароль https://restore_eval_kanboard/;
}
}
Я ценю вашу помощь.
Ура Томас