Я использую HAProxy в качестве балансировщика нагрузки и хочу перенаправить любой трафик, поступающий с 443 (HTTPS) на 80 (HTTP). Мой сайт вообще не поддерживает HTTPS, и я бы предпочел просто перенаправить пользователей, чем вызывать какие-либо предупреждения SSL в браузерах.
Все, что я могу найти, это использовать redirect location <to>
синтаксис, но, насколько я могу судить, это требует от меня жесткого кодирования имени хоста. Балансировщик нагрузки принимает соединения для различных имен хостов, поэтому хотел бы, чтобы они были относительными.
Это не сработает. Если пользователь входит https://example.com в свой браузер и подключается к порту 443, затем требует SSL, чтобы быть там. Вы даже не можете вызвать перенаправление без правильной настройки SSL.
Другими словами: если пользователь уже подключается к 443, вам уже слишком поздно избегать использования надлежащего SSL.
Держать порт закрытым, вероятно, "лучшее", что вы можете сделать, помимо правильной настройки SSL.
Да, вы можете, просто поместите правило перенаправления в свой интерфейс ssl для хоста ... что-то вроде этого
redirect scheme http if { hdr(Host) -i the.host.com } { ssl_fc }