2016-08-31 3 views
-1

私は4つの仮想ホストを持っています。仮想ホストファイルが正しく転送されない

私はZendサーバーを使用しています。 httpd.confファイルには次のようなワイルドカードを使用した仮想ホストconfファイルが含まれているようです:

Include "C:\blah\blah2\Zend\ZendServer/etc/sites.d/vhost_*.conf" 

仮想ホストのconfファイルは以下のとおりです。今、私に困惑しているのは、 https://www-test.blah.com、またはhttps://www-test2.blah.comに行くとうまくいきます。しかし、私がhttps://review-test.blah.comに行くと、それはwww-test.blah.comに行きます。

これは、私が言うことができる限り、すべてが同じように設定されているように見えるので、私を困惑させます。

仮想ホストファイルがワイルドカードを使用しているため、含まれる順序が重要なのでしょうか?アルファベット順の場合は、表示された順番で表示されます。

私が気付いたことの1つは、サーバー上にいる場合、https://review-test.blah.comが問題なく動作することです。しかし、私がネットワークのどこかにいるとき、それはhttps://www-test2.blah.comに私を導きます。

または、Apacheが仮想ホストを選択する方法に影響する可能性のあることがありますか?たとえば、証明書ファイルは重要ですか?

Listen 80 
Listen 443 
<VirtualHost *:80> 
    ServerName portal.blah.com:80 

</VirtualHost> 

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 

NameVirtualHost review-test.blah.com:443 

<VirtualHost review-test.blah.com:443> 
    OTHER STUFF HERE 
    OTHER STUFF HERE 
    OTHER STUFF HERE 
    OTHER STUFF HERE 

    SSLEngine on   

    SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\review-test.blah.com.crt" 
    SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\review-test.blah.com.key" 

    ServerName review-test.blah.com 
    ServerAlias review-test.blah.com 

</VirtualHost> 

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 

NameVirtualHost www-test.blah.com:443 

<VirtualHost www-test.blah.com:443> 
    OTHER STUFF HERE 
    OTHER STUFF HERE 
    OTHER STUFF HERE 
    OTHER STUFF HERE 

    SSLEngine on 
    SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.crt" 
    SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.key" 


    ServerName www-test.blah.com 
    ServerAlias www-test.blah.com 

</VirtualHost> 

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 

NameVirtualHost www-test2.blah.com:443 

<VirtualHost www-test2.blah.com:443> 
    OTHER STUFF HERE 
    OTHER STUFF HERE 
    OTHER STUFF HERE 
    OTHER STUFF HERE 

    SSLEngine on 
    SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.crt" 
    SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.key" 


    ServerName www-test2.blah.com 
    ServerAlias www-test2.blah.com 
</VirtualHost> 
+0

、彼らが同じドメイン内にあり、ワイルドカード証明書を使用しない限り、SSLと名前ベースのVirtualHostは同じ証明書を使用することはできません。複数の証明書の場合、名前ごとに異なるIPを使用します。 http://wiki.apache.org/httpd/NameBasedSSLVHostsについては、Apacheのwikiを参照してください。 – alvits

+0

また、サーバー自体でブラウザを使用しているときに動作する理由はありますか?ネットワーク上のブラウザでは動作しません。 – NL3294

答えて

0

私はそれを修正できました。

以下のコマンドは、仮想ホストがどのように解析されているかを見るのに役立ちました。

httpd -S 

私のソリューションは以下の通りです:

Listen 80 
Listen 443 
<VirtualHost *:80> 
    ServerName portal.blah.com:80 

</VirtualHost> 

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 



<VirtualHost *:443> 
    OTHER STUFF HERE 
    OTHER STUFF HERE 
    OTHER STUFF HERE 
    OTHER STUFF HERE 

    SSLEngine on   

    SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\review-test.blah.com.crt" 
    SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\review-test.blah.com.key" 

    ServerName review-test.blah.com 
    ServerAlias review-test.blah.com 

</VirtualHost> 

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 

NameVirtualHost *:443 

<VirtualHost *:443> 
    OTHER STUFF HERE 
    OTHER STUFF HERE 
    OTHER STUFF HERE 
    OTHER STUFF HERE 

    SSLEngine on 
    SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.crt" 
    SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.key" 


    ServerName www-test.blah.com 
    ServerAlias www-test.blah.com 

</VirtualHost> 

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 

<VirtualHost *:443> 
    OTHER STUFF HERE 
    OTHER STUFF HERE 
    OTHER STUFF HERE 
    OTHER STUFF HERE 

    SSLEngine on 
    SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.crt" 
    SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.key" 


    ServerName www-test2.blah.com 
    ServerAlias www-test2.blah.com 
</VirtualHost> 
関連する問題