磅配置,https重定向通配符问题

时间:2016-08-23 12:16:18

标签: linux https load-balancing pound

我遇到一个问题,即wildcard.domain.com无法正常工作。转到https://wildcard.domain.comhttps://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监听器中添加正则表达式吗?

1 个答案:

答案 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 * $”