4

現在、複数の仮想ホストでSSLを使用するようにMAMP 2を構成する際に問題が発生しています(1つで正常に動作しています)。私の場合、https-ssl.confファイルにリストされている最初の仮想ホストにのみSSL接続を提供します。

私のhttpd-vhosts.confファイルには、次のようないくつかのvhostsセットアップがあります。

<VirtualHost *:80> 
    DocumentRoot "/Users/me/sites/something/" 
    ServerName something.local 
</VirtualHost>
<VirtualHost *:80> 
    DocumentRoot "/Users/me/sites/else/" 
    ServerName else.local 
</VirtualHost>

https-ssl.confファイルには、次のようないくつかのvhostが設定されています。

<VirtualHost *:443>
    DocumentRoot "/Users/me/sites/something"
    ServerName something.local:443
    ServerAdmin you@example.com
    ErrorLog "/Applications/MAMP/Library/logs/error_log"
    TransferLog "/Applications/MAMP/Library/logs/access_log"

    SSLEngine on

    #   SSL Cipher Suite:
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

    #   Server Certificate:
    SSLCertificateFile "/Applications/MAMP/conf/apache/server.crt"
    #SSLCertificateFile "/Applications/MAMP/conf/apache/server-dsa.crt"

    #   Server Private Key:
    SSLCertificateKeyFile "/Applications/MAMP/conf/apache/server.key"
    #SSLCertificateKeyFile "/Applications/MAMP/conf/apache/server-dsa.key"

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory "/Applications/MAMP/Library/cgi-bin">
        SSLOptions +StdEnvVars
    </Directory>

    #   SSL Protocol Adjustments:
    BrowserMatch ".*MSIE.*" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0

    #   Per-Server Logging:
    CustomLog "/Applications/MAMP/Library/logs/ssl_request_log" \
                  "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>  
<VirtualHost *:443>
    DocumentRoot "/Users/me/sites/else"
    ServerName else.local:443
    ServerAdmin you@example.com
    ErrorLog "/Applications/MAMP/Library/logs/error_log"
    TransferLog "/Applications/MAMP/Library/logs/access_log"


    ........add'l config deleted......
</VirtualHost>  

https-ssl.confにリストされている最初の仮想ホストがSSLサポートを提供されていることは常に機能しますが、その後にリストされているものはありません(https://something.localは機能しますが、https://else.localは機能しませ

どんな助けでもいただければ幸いです!

4

3 に答える 3

5

IPごとに持つことができるHTTPSホストは1つだけです。これはHTTPSの制限です。さまざまなIPを試し<VirtualHost ip.ad.dr.es:443>て、それぞれでHTTPSホストを取得してください。

于 2012-06-26T23:52:50.203 に答える
2

元の質問の.confファイルは近くにありましたが、完全にはありませんでした...

ApacheがSSLを介してさまざまな仮想ホストを認識するためには、NameVirtualHostを使用し、「StrictSNI」をオフにする必要があります。httpd-ssl.conf基本的に、ファイルの先頭に次のものが必要です。

# Ensure that Apache listens on port 443
Listen 443

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:443

# Go ahead and accept connections for these vhosts
# from non-SNI clients
SSLStrictSNIVHostCheck off

次に、各仮想ホストノードが次のタグで宣言されていることを確認します。

<VirtualHost *:443>

注:使用しているブラウザーもSNIをサポートしている必要があります。

これはすべて、Apacheドキュメントのこのページから取得されました: https ://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI

于 2017-07-11T20:35:53.293 に答える
1

httpd-vhost.conf含まれている場合はこれを試してみてくださいhttpd.conf

NameVirtualHost *:80
NameVirtualHost *:443

ありがとう

于 2014-07-29T15:44:33.543 に答える