我遇到一个问题,即wildcard.domain.com无法正常工作。转到https://wildcard.domain.com,https://www.wildcard.domain.com工作时,它似乎失败了。所以我有以下pound配置:
##
# 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/
失败:用户转到https://test.domain.com/,Pound向用户显示“您的连接不是私密”
我不明白如何解决这个问题,我只需要在HTTPS监听器中添加正则表达式吗?
答案 0 :(得分:1)
如果您的证书仅表明* .test.domain.com对test.domain.com无效,则仅适用于子域名(仅适用于一个级别)。
该行有一个错误:
HeadRequire“^主持人:。 test.domain.com \ s $”
它重定向anything.test.domain.com但也改编为anythingtest.domain.com(注意缺失点)。我认为应该是
HeadRequire“^主持人:。 .test.domain.com \ s $”
如果您只想重定向一个级别的子域:
HeadRequire“^主持人:[^。] +。test.domain.com \ s * $”
如果您想重定向test.domain.com:
HeadRequire“^主持人:([^。] +。)?test.domain.com \ s * $”