Вопрос:

Какой стандарт де-факто для обратного прокси-сервера сообщает об использовании SSL в бэкэнде?

https http-headers reverse-proxy

23627 просмотра

2 ответа

4232 Репутация автора

У меня есть обратный прокси-сервер, который делает HTTPS снаружи, но HTTP внутри.

Это означает, что по умолчанию в URL-адресах в приложении в качестве схемы используется HTTP, так как с ним связываются.

Как прокси-сервер может сообщить бэкэнду, что должен использоваться HTTPS?

Автор: Chris Wesseling Источник Размещён: 16.04.2013 04:49

Ответы (2)


32 плюса

4232 Репутация автора

Решение

Прокси-сервер может добавлять дополнительные (или перезаписывать) заголовки к запросам, которые он получает и передает на серверную часть. Они могут быть использованы для передачи информации на сервер.

До сих пор я видел пару, использованную для принудительного использования 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 на : другие прокси должны иметь аналогичную функциональность

RequestHeader set X-FORWARDED-PROTOCOL https
RequestHeader set X-Forwarded-Ssl on
# etc.

Я думаю, что лучше установить их все или установить тот, который работает, и удалить другие известные. Чтобы злые клиенты не связывались с ними.

Автор: Chris Wesseling Размещён: 16.04.2013 04:49

0 плюса

121 Репутация автора

Мне потребовалось несколько часов поиска в 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
Вопросы из категории :
32x32