簡體   English   中英

子域和主域上的SSL-ehost

[英]SSL on subdomain and primary domain - ehost

我的提供者有問題-ehost。

我有通配符證書。 我想先測試一下再上線。 因此,我要求先將其安裝在子域(uat.domain.com)上。 我已經測試過應用程序,並且想要上線。 提供商說,不可能在主域(domain.com)上安裝證書,因為他們首先在子域上安裝了證書。

當然,他們提供了我從他們那里購買證書的服務。

我真的不明白這個問題,有人可以告訴我他們是否正確? 我認為甚至可以從ehost取得證書並將其發送給另一提供商並安裝它。 現在,證書已安裝在Apache服務器上,子域和主域的文件夾位於同一服務器中。

如果不看實際配置,很難說,但是要回答您的問題(如果他們說不可能),那是因為他們在服務器中僅使用1個VirtualHost。

通常,共享托管會出現此類問題,因為它們將Apache的一個實例專用於許多不同的客戶端,並且每個客戶端具有1個虛擬主機,但這只是猜測您需要檢查當前情況。

但是我還可以描述Apache的工作方式,以便您了解可能發生的情況:

如果Apache配置具有不同的虛擬主機,則可以擁有與虛擬主機一樣多的不同證書,通配符和其他內容。

這是每個VirtualHost 1個證書。

但這還不是全部,如果您有幾個不同的域名或子域名,那么這是您需要仔細計划如何配置它們的時候。

例如

如果先定義了此虛擬主機,則:

<VirtualHost *:443>
ServerName example.com
ServerAlias *.example.com
</VirtualHost>

不會應用或使用any.example.com或example.com的其他虛擬主機,因為此虛擬主機將捕獲對這些名稱的所有請求。

但是,如果您有:

<VirtualHost *:443>
ServerName domain.com
</VirtualHost>

現在,您需要為您的子域定義一個帶有新通配符證書的虛擬主機,您可以完美地將新通配符證書用於* .example.com:

<VirtualHost *:443>
ServerName xxxxx.example.com
</VirtualHost>

並且現在可以定義更多虛擬主機,如果您希望/需要為* .example.com使用相同的通配符證書:

<VirtualHost *:443>
ServerName yyyyy.example.com
</VirtualHost>

請注意,這些是簡化的virtualhost示例(顯然,您的虛擬主機中將包含更多指令,尤其是那些加載密鑰和證書的指令)。

簡要地說,您需要考慮的事項:

  1. Apache HTTPD查看主機標頭,以了解它必須將請求傳遞到哪個虛擬主機。
  2. 如果您重疊名稱或定義過於貪婪的服務器別名,則如果先前的虛擬主機與請求的主機名匹配,則進一步定義的虛擬主機可能永遠不會收到請求。 這是virtualhost列表中的第一個比賽獲勝。
  3. Apache為每個虛擬主機提供1個證書,但是在多個虛擬主機中使用相同的證書也沒關系。
  4. 如果使用ServerAlias,只需要注意不要重疊名稱和通配符。 具有兩個覆蓋相同名稱的虛擬主機只會使httpd忽略具有相同名稱的第二個虛擬主機。
  5. 如果您為不同的虛擬主機有多個不同的文件,則它們的文件將按字母順序讀取,因此,如果您有一個a-virtualhost.conf,服務器名稱為1.example.com,而b-virtualhost.conf,其服務器名稱為1.example.com,b -virtualhost.conf將被忽略。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM