Какой стандарт де-факто для обратного прокси-сервера сообщает об использовании SSL в бэкэнде?
23627 просмотра
2 ответа
У меня есть обратный прокси-сервер, который делает HTTPS снаружи, но HTTP внутри.
Это означает, что по умолчанию в URL-адресах в приложении в качестве схемы используется HTTP, так как с ним связываются.
Как прокси-сервер может сообщить бэкэнду, что должен использоваться HTTPS?
Автор: Chris Wesseling Источник Размещён: 13.11.2019 11:40Ответы (2)
32 плюса
Прокси-сервер может добавлять дополнительные (или перезаписывать) заголовки к запросам, которые он получает и передает на серверную часть. Они могут быть использованы для передачи информации на сервер.
До сих пор я видел пару, использованную для принудительного использования https в схеме URL:
X-Forwarded-Protocol: https
X-Forwarded-Ssl: on
X-Url-Scheme: https
И википедия также упоминает:
# a de facto standard:
X-Forwarded-Proto: https
# Non-standard header used by Microsoft applications and load-balancers:
Front-End-Https: on
Это то, что вы должны добавить в VirtualHost на Apache : другие прокси должны иметь аналогичную функциональность
RequestHeader set X-FORWARDED-PROTOCOL https
RequestHeader set X-Forwarded-Ssl on
# etc.
Я думаю, что лучше установить их все или установить тот, который работает, и удалить другие известные. Чтобы злые клиенты не связывались с ними.
Автор: Chris Wesseling Размещён: 16.04.2013 04:490 плюса
Мне потребовалось несколько часов поиска в Google, чтобы найти магические условия для моего окружения. У меня есть обратный прокси-сервер SSL httpd apache перед сервером приложений Jetty и http-сервером apache2. Этот ответ фактически дал мне информацию, которая работала. Для меня добавление RequestHeader set "X-Forwarded-Proto" expr =% {REQUEST_SCHEME} в файл conf сайта было достаточно для назначения, чтобы использовать https вместо http в качестве протокола при построении ссылок в ответе. Я попробовал X-FORWARDED-PROTOCOL выше, но это не сработало. Надеюсь, это поможет в будущих поисках Google!
Автор: Bryan Размещён: 29.06.2018 10:01Вопросы из категории :
- https Response.Redirect с POST вместо Get?
- https Лучший способ в asp.net заставить https для всего сайта?
- https Как мы контролируем кэширование веб-страниц во всех браузерах?
- https JMeter: Как записать HTTPS-трафик?
- https Что такое SSL и как он относится к HTTPS?
- https Безопасна ли строка запроса HTTPS?
- http-headers How to encode the filename parameter of Content-Disposition header in HTTP?
- http-headers Обнаружение на стороне клиента метода HTTP-запроса
- http-headers Как получить размер файла из заголовков http
- http-headers Доступ к HTTP-заголовкам веб-страницы в JavaScript
- http-headers Как изменить заголовок сервера, возвращаемый nginx?
- reverse-proxy Apache - обратный прокси и сообщение о состоянии HTTP 302
- reverse-proxy Difference between proxy server and reverse proxy server
- reverse-proxy Обратный прокси-сервер Apache с базовой аутентификацией
- reverse-proxy что случилось с этой конфигурацией для nginx как обратного прокси для node.js?
- reverse-proxy Преимущества обратного прокси перед Node.JS
- reverse-proxy Обратный прокси-сервер Apache переписывает URL-адреса не так, как я ожидаю