2011-12-05 23 views
1

私は異なるドメインからアクセス可能な多言語ウェブストアを実行しており、異なる言語につながります。Apache:ドメインに応じて条件付きSSLCertificateFile?

Apacheの設定は非常に複雑で、すべての店舗で1つのファイルを共有したいと考えています。 SSLを導入しなければならないまで、私はこれを実施しました。 それは私のような何かをする必要があり、証明書、ApacheとSSLに来るとき:

SetEnv is_es 0<br> 
SetEnvIfNoCase Host .*es is_es 1<br> 
SSLCertificateFile /etc/ssl/certs/spanish.server.crt env=is_es<br> 

これはaparentlyことはできませんが、Apacheは私に語った:

<i>SSLCertificateFile takes one argument, SSL Server Certificate file (`/path/to/file' - PEM or DER encoded)</i> 

任意の回避策がある場合、私は思っていました。私の目標は、同じ構成の異なるコピーを持たず、手動で変更を加える必要がないようにすることです。 専用のサーバーでホストされているので、設定を自由に変更できます。

+0

は、そのサーバー名を使用して派遣しました。 – Bruno

答えて

1

https接続の場合、HostヘッダーはSSLカプセル化の内側にあるため、仮想ホストのホスト名を確認する前に完全なSSLハンドシェイクが必要です。

SAN (Subject Alternative Names)でSSL証明書を取得する必要があります。これにより、複数のホスト名に対して1つの証明書が許可されます。

そして、あなたはメジャーのCAからこの本命の1を得ることができます:(またはワイルドカード証明書)

すべての主要ブラウザは、すでにそれをサポートしてい

+0

ありがとうMarcelo。答えは完全に意味があり、大きな回避策があります。名誉! –

+1

@jeanlucorsai、私はあなたが既に複数の証明書を持っていたと仮定していました。この場合、SNI(または複数のIPアドレス)も必要になりますが、単一の証明書で複数のSANが実際に動作するはずです。 – Bruno

関連する問題