Я пытаюсь настроить SSL с помощью SNI в своем apache и получаю часто возникающую ошибку "ssl_error_rx_record_too_long" в Firefox при доступе к сайту (https://test.me.dev.xxxx.net), из чего я могу сделать вывод, что сервер прослушивает порт 443, но не знает, как использовать на нем SSL.
Сервер - Ubuntu 9.04 с Apache 2.2.11. Я включил SSL по умолчанию (a2enmod ssl).
Вот моя соответствующая конфигурация:
NameVirtualHost *:*
Listen 80
<IfModule mod_ssl.c>
Listen 443
</IfModule>
...
<VirtualHost *:*>
DocumentRoot /home
ServerAlias *.dev.xxxx.net
UseCanonicalName Off
# project.user.dev.xxxx.net
VirtualDocumentRoot /home/%2/dev/%1/web
SSLEngine On
SSLCertificateFile /etc/apache2/certs/dev.crt
SSLCertificateKeyFile /etc/apache2/certs/dev.key
</VirtualHost>
Что случилось?
Это часть моей рабочей конфигурации сервера. Надеюсь, вам это пригодится.
<VirtualHost *:80>
ServerAdmin webmaster@xxx.com
ServerName xxx.com
ServerAlias www.xxx.com
DocumentRoot /srv/www/htdocs/xxx.com
ErrorLog /var/log/apache2/xxx.com-error_log
CustomLog /var/log/apache2/xxx.com-access_log vhost_common
<Directory "/srv/www/htdocs/xxx.com">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName mail.xxx.com
Redirect / https://mail.xxx.com/
</VirtualHost>
<IfDefine SSL>
<IfDefine !NOSSL>
<VirtualHost _default_:443>
ServerAdmin webmaster@xxx.com
ServerName mail.xxx.com
DocumentRoot /srv/www/htdocs/roundcube
ErrorLog /var/log/apache2/roundcube-error_log
CustomLog /var/log/apache2/roundcube-access_log vhost_common
CustomLog /var/log/apache2/roundcube-ssl_log ssl_combined
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/ssl/xxx/apache2.crt
SSLCertificateKeyFile /etc/ssl/xxx/apache2.key
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>
</IfDefine>
</IfDefine>
<VirtualHost *:443>
</VirtualHost>