2

GoDaddy から SSL を取得しました。
私の公開サイトで動作しますmysite.com。鍵に赤いマークが付いた自分のサイトを管理しても構わないので
、SSL 接続をadministrator.mysite.com
使用して自己署名証明書を作成しました。openssl

中身httpd-ssl.conf

<VirtualHost *:443>
   ServerName mysite.com:443
   ServerAlias www.mysite.com

   DocumentRoot /opt/lampp/htdocs/MySite/

   ServerAdmin admin@mysite.com

   ErrorLog /opt/lampp/htdocs/MySite/logfiles/ssl_errors.log
   TransferLog /opt/lampp/htdocs/MySite/logfiles/ssl_access.log

   SSLEngine on
   SSLProtocol all -SSLv2
   SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM

   SSLCertificateFile /opt/lampp/etc/ssl.crt/mysite.com.crt
   SSLCertificateKeyFile /opt/lampp/etc/ssl.key/server_nopwd.key
   SSLCertificateChainFile /opt/lampp/etc/ssl.crt/gd_bundle.crt

   SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
   CustomLog /opt/lampp/htdocs/MySite/logfiles/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
   <FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
   </FilesMatch>
   <Directory "/opt/lampp/cgi-bin">
     SSLOptions +StdEnvVars
    </Directory>
    BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

</VirtualHost>                                  

<VirtualHost *:443>
   ServerName administrator.mysite.com:443
   DocumentRoot "/opt/lampp/htdocs/"

   ServerAdmin admin@mysite.com

   ErrorLog /opt/lampp/htdocs/MySite/logfiles/ssl_errors_admin.log
   TransferLog /opt/lampp/htdocs/MySite/logfiles/ssl_access_admin.log

   SSLEngine on
   SSLProtocol all -SSLv2
   SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM

   SSLCertificateFile /opt/lampp/etc/ssl.crt/admin.crt
   SSLCertificateKeyFile /opt/lampp/etc/ssl.key/admin.key

   SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
   CustomLog /opt/lampp/htdocs/MySite/logfiles/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/opt/lampp/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>
BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

</VirtualHost>      

そして、私はこの警告を受け取ります:

[warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)

何が起こるかというと、管理者ホストが通常のホストにリダイレクトされることです。これは非常に面倒です

4

2 に答える 2

4

同じ問題がありました。奇妙なことに、それが魅力のように機能するという報告もあれば、そうでないという報告もあります。SSLStrictSNIVHostCheck Apache ディレクティブを介して SNI を使用しようとしましたが、うまくいきませんでした。

たとえば、ワイルドカードドメインでServerAliasディレクティブを使用する場合。* .snakeoil.comの場合、 VirtualHost構成の順序が重要になります。ワイルドカード ドメイン エイリアスを持つVirtualHostの場合:

ServerAlias *.snakeoil.com

最初に処理される最初のものであり、他の仮想ホストの解決を回避します。このキャッチオールが最後のものになるように、仮想ホストを逆にしてみてください。

<IfModule mod_ssl.c>

# first vhost
<VirtualHost *:443>
    ServerName vhost1.snakeoil.com
    [...]
</VirtualHost>

# second vhost
<VirtualHost *:443>
    ServerName vhost2.snakeoil.com
    [...]
</VirtualHost>

# Attention!
# All other vhost requests end up here
# Order matters, keep this entry to be the last one
# as a last resort if any of the above don't apply
<VirtualHost *:443>
    ServerName snakeoil.com
    ServerAlias *.snakeoil.com
    [...]
</VirtualHost>

</IfModule>

少なくともApache 2.2.14で私のために働いた

于 2014-04-13T17:23:25.577 に答える
0

新しいブラウザでは問題なく動作するはずですが、そのうちの 1 つが誤っadmin.mysite.commysite.com.

表示される警告メッセージについては、https ://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI で詳しく説明されています(基本的に、古いブラウザーではデフォルトの仮想ホストしか表示できません)。

于 2013-07-16T13:51:48.643 に答える