2016-08-23 33 views
0

我有一個問題,其中wildcard.domain.com不工作100%。 https://wildcard.domain.comhttps://www.wildcard.domain.com工作時似乎失敗。所以,我有以下英鎊配置:英鎊配置,https重定向問題與通配符

## 
# 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,英鎊呈現https://www.test.domain.com/

WORKS用戶:用戶轉到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/,英鎊呈現用戶使用「您的連接不是私密」

我不明白我怎麼能解決這個問題,我只是需要一個正則表達式添加到HTTPS偵聽器?

回答

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 * $」

+0

我想你已經擊中了要害的問候證書。 我需要包含wildcard.wilcard.domain.com的組合文件,我可以看到它接受多個Cert參數,所以我現在正在嘗試。這非常有幫助。 –

+0

它會出現test.domain.com只包含在一個證書中,這是一個wildcard.doman.com證書,你可以在相同的磅配置中使用嗎? 如果test實際上是通配符域,那麼wildcard.test.domain.com會工作。 –

+0

如果你想要wildcard.test.domain.com,wildcard.domain.com和domain.com你需要* .test.domain.com,* .domain.com和domain.com,那是你的問題嗎? – Tom