Конфигурация фунта, проблемы перенаправления https с подстановочным знаком
У меня проблема, когда wildcard.domain.com не работает на 100%. По-видимому, происходит сбой при переходе на https://wildcard.domain.com/, где работает https://www.wildcard.domain.com/. поэтому у меня есть следующий фунт конфигурации:
##
# 1 http://*.test.domain.com
##
ListenHTTP
Address 10.xx.xx.xx
Port 80
HeadRemove "X-HTTPS-via-LB"
RewriteLocation 0
xHTTP 0
Service "test domain"
HeadRequire "^Host:.*test\.domain\.com\s*$"
Redirect "https://www.test.domain.com"
End
End
##
# 2 https://*.test.domain.com
##
ListenHTTPS
Address 10.xx.xx.xx
RewriteLocation 0
HeadRemove "X-HTTPS-via-LB"
AddHeader "X-HTTPS-via-LB: 1"
Port 443
xHTTP 0
Cert "/etc/pki/tls/private/wildcard.test.domain.com.combined"
Ciphers "****"
End
Теперь это почти работает, но все еще не работает в определенных сценариях:
РАБОТАЕТ: Пользователь заходит на http://test.domain.com/, Pound представляет пользователю https://www.test.domain.com/
РАБОТАЕТ: Пользователь заходит на http://www.test.domain.com/, Pound представляет пользователю https://www.test.domain.com/
РАБОТАЕТ: Пользователь заходит на https://www.test.domain.com/, Pound представляет пользователю https://www.test.domain.com/
FAILS: пользователь заходит на https://test.domain.com/, Pound представляет пользователю "Ваше соединение не является частным"
Я не понимаю, как я могу решить эту проблему, мне просто нужно добавить регулярное выражение для слушателя HTTPS?
1 ответ
Если в вашем сертификате указано, что только *.test.domain.com НЕ подходит для test.domain.com, только для поддоменов (и только для одного уровня).
И в этой строке есть ошибка:
HeadRequire "^Host:.test.domain.com \ s$"
он перенаправляет что-нибудь.test.domain.com, но также что-нибудь test.domain.com (обратите внимание на отсутствующую точку). Я думаю, что это должно быть
HeadRequire "^ Host:.test.domain.com \ s$"
И если вы хотите перенаправить только один уровень поддоменов:
HeadRequire "^ Хост:[^.]+. Test.domain.com\s*$"
Если вы тоже хотите перенаправить test.domain.com:
HeadRequire "^ Хост:([^.]+.)? Test.domain.com\s*$"