2012-01-03 10 views
0

私は、httpd.confの最後にロードされたvirtualhosts.confというファイルに2つのサイトを定義しています。私はhttps://sitea.comをロードする場合は上記の設定で、それがうまくロードし、Apache - 複数SSLの問題

<VirtualHost IP:80> 
    DocumentRoot D:/Site/A/ 
    ... 
</VirtualHost> 

<VirtualHost IP:443> 
    DocumentRoot D:/Site/A/ 
    ... 
</VirtualHost> 

<VirtualHost IP__2:80> 
    DocumentRoot D:/Site/B/ 
    ... 
</VirtualHost> 

<VirtualHost IP__2:443> 
    DocumentRoot D:/Site/B/ 
    ... 
</VirtualHost> 

彼らは両方の形式を持っています。上記の設定でhttps://siteb.comをロードすると、sitebが自分自身をsiteaとして識別していると言います。私はエントリの順序を反転した場合:

<VirtualHost IP__2:80> 
    DocumentRoot D:/Site/B/ 
    ... 
</VirtualHost> 

<VirtualHost IP__2:443> 
    DocumentRoot D:/Site/B/ 
    ... 
</VirtualHost> 

<VirtualHost IP:80> 
    DocumentRoot D:/Site/A/ 
    ... 
</VirtualHost> 

<VirtualHost IP:443> 
    DocumentRoot D:/Site/A/ 
    ... 
</VirtualHost> 

は今、SiteBの負荷だけで罰金、しかしシティアは、それがSiteBのとしての地位を識別しているというエラーがスローされます。

何が起こっているのですか?両方のドメインが有効であるように見えるにもかかわらず、Apacheが最初のファイルであれば、そのファイルの「トップ」エントリにデフォルト設定されているようです。

EDIT:私のhttpd.confのトップ:

Listen 80 
Listen 443 

NameVirtualHost IP.50:80 
NameVirtualHost IP.50:443 

NameVirtualHost IP.51:80 
NameVirtualHost IP.51:443 

NameVirtualHost IP.52:80 
NameVirtualHost IP.52:443 

NameVirtualHost IP.53:80 
NameVirtualHost IP.53:443 

NameVirtualHost IP.54:80 
NameVirtualHost IP.54:443 

NameVirtualHost IP.55:80 
NameVirtualHost IP.55:443 

NameVirtualHost IP.56:80 
NameVirtualHost IP.56:443 

答えて

1

SSLが先行したHTTPリクエストの確立され、サーバはその証明書が、それは要求を受信したときに提示するかを知りません。この問題には、各セキュアドメインに専用のIPを持つ以外の一般的な解決策はありません。そしてあなたの質問は、StackOverflowのトピック外です。

+0

残念なことに、各ドメインに専用のIPアドレスがあります。質問を編集して例を挙げます。そしてそれは少し話題になって申し訳ありません。 – Josh

+0

VirtualHostsのいずれかにServerNameエントリがなく、固定されたものが追加されました。 MODがこれを削除したい場合、解決されます。 – Josh