在Apache中设置SSL虚拟主机

我试图在我的apache中设置SSL和SNI,并且在访问站点( https://test.me.dev.xxxx.net )时,在Firefox中得到经常看到的“ssl_error_rx_record_too_long”错误,从中我可以得出结论,服务器正在侦听端口443,但不知道使用SSL。

服务器是Ubuntu 9.04与Apache 2.2.11我以默认的方式启用了SSL(a2enmod ssl)。

这是我的相关configuration:

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> 

哪里不对?

这是我的服务器工作configuration的一部分。 希望你会得心应手。

 <VirtualHost *:80> ServerAdmin [email protected] 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 [email protected] 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>