Apacheは、SNI設定に関係なく、常に最初の名前の仮想ホストを提供しています。何が原因なのかわかりません。メッセージが表示されなくなりました
Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
でも今日は午後2時の時点でした。私が変更したことを覚えているのは、最後の仮想ホスト宣言を次の場所に追加することだけです。
LoadModule ssl_module modules/mod_ssl.so
#LoadModule ssl_module /usr/lib64/libgnutls.so
NameVirtualHost 10.10.150.166:443
<IfModule mod_ssl.c>
#If you add NameVirtualHost *:443 here, you will also have to change
#the VirtualHost statement in /etc/Apache2/sites-available/default-ssl
#to
#Server Name Indication for SSL named virtual hosts is currently not
#supported by MSIE on Windows XP.
Listen 443
</IfModule>
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
<VirtualHost mail.napalpha.net:443>
SSLStrictSNIVHostCheck on
ServerName mail.napalpha.net
ServerAlias mail.napalpha.net
DocumentRoot /var/www/roundcubemail
# Use separate log files for the SSL virtual Host; note that LogLevel
# is not inherited from httpd.conf.
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pki/CA/certs/mail_napalpha_net.crt
SSLCertificateKeyFile /etc/pki/CA/private/mail.napalpha.net.key
SSLCertificateChainFile /etc/pki/CA/IntermediateCAs/GeoTrust_Intermediate.crt
SSLCACertificateFile /etc/pki/CA/CABundle/GeoTrust_CA_Bundle.crt
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
Alias /cluebringer "/usr/share/cluebringer/webui/"
Alias /iredadmin/static "/var/www/iredadmin/static/"
WSGIScriptAlias /iredadmin "/var/www/iredadmin/iredadmin.py/"
Alias /awstats/icon "/usr/share/awstats/wwwroot/icon/"
Alias /awstatsicon "/usr/share/awstats/wwwroot/icon/"
ScriptAlias /awstats "/usr/share/awstats/wwwroot/cgi-bin/"
Alias /mail "/var/www/roundcubemail/"
Alias /phppgadmin "/var/www/phppgadmin/"
Alias /groupoffice "/var/www/groupoffice/"
</VirtualHost>
<VirtualHost www.procyon-alpha.com:443>
ServerName www.procyon-alpha.com
ServerAlias www.procyon-alpha.com
DocumentRoot /var/www/ProcyonAlpha
# SSLEngine On
SSLStrictSNIVHostCheck on
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLCertificateFile /etc/pki/CA/certs/SSL_www_procyon-alpha_com.crt
SSLCertificateKeyFile /etc/pki/CA/private/procyon-alpha.key
SSLCertificateChainFile /etc/pki/CA/IntermediateCAs/GeoTrust_Intermediate.crt
SSLCACertificateFile /etc/pki/CA/CABundle/GeoTrust_CA_Bundle.crt
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
<VirtualHost owncloud.procyon-alpha.com:443>
ServerName owncloud.procyon-alpha.com
ServerAlias owncloud.procyon-alpha.com
DocumentRoot /var/www/owncloud
SSLStrictSNIVHostCheck on
# SSLEngine On
<Directory /var/www/owncloud/install>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLCertificateFile /etc/pki/CA/certs/SSL_owncloud_procyon-alpha_com.crt
SSLCertificateKeyFile /etc/pki/CA/private/owncloud.procyon-alpha.com.key
SSLCertificateChainFile /etc/pki/CA/IntermediateCAs/GeoTrust_Intermediate.crt
SSLCACertificateFile /etc/pki/CA/CABundle/GeoTrust_CA_Bundle.crt
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
httpd -S出力:
VirtualHost configuration:
10.10.150.166:443 is a NameVirtualHost
default server mail.napalpha.net (/etc/httpd/conf.d/sslcombined.conf:30)
port 443 namevhost mail.napalpha.net (/etc/httpd/conf.d/sslcombined.conf:30)
alias mail.napalpha.net
port 443 namevhost www.procyon-alpha.com (/etc/httpd/conf.d/sslcombined.conf:79)
alias www.procyon-alpha.com
port 443 namevhost owncloud.procyon-alpha.com (/etc/httpd/conf.d/sslcombined.conf:98)
alias owncloud.procyon-alpha.com
Syntax OK
証明書の警告を無視すると、正しいコンテンツが提供されます。私はここで途方に暮れています。
10.10.150.166
は、Apacheが実行されているサーバーのIPアドレスであり、リクエストのルーティング先であると想定しています。 (サーバーはある種のファイアウォールの背後にあり、NATが設定されていますか?非公開IPアドレスの原因を尋ねるだけです)そうでない場合は、NameVirtualHost
を更新する必要があります。正しいIPアドレスを指すディレクティブ。
また、3つのホスト名すべて、つまりmail.napalpha.net
、www.procyon-alpha.com
、owncloud.procyon-alpha.com
がサーバーのNameVirtualHostディレクティブで指定されたIPアドレスに解決されることを確認する必要があります。これが公開されているIPアドレスと異なる場合は、/etc/hosts
ファイルに適切なエントリを含めることができます。
別のアプローチは、各VirtualHost定義に以下のようなIPアドレスとポートを持たせることです。 (VirtualHost定義にホスト名を含めることは 非推奨 )
<VirtualHost <IP address>:443>
....
....
</VirtualHost>
SSLEngine On
ディレクティブは、最後の2つの仮想ホストについてもコメント解除する必要があります。