在同一个IP上运行SSL和非SSL

我有以下configuration:

<VirtualHost 123.0.1.2:80> ServerName website.com DocumentRoot "/var/www/website.com" RewriteEngine on RewriteCond %{SERVER_PORT} ^80$ RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R] </VirtualHost> <VirtualHost 123.0.1.2:443> DocumentRoot "/var/www/website.com" ServerName website.com SSLEngine on SSLCertificateFile /var/ssl/testing/server.crt SSLCertificateKeyFile /var/ssl/testing/server.key <Directory "/var/www/website.com"> allow from all Options +Indexes </Directory> SSLVerifyClient none </VirtualHost> 

但是,这给了我一个SSL协议错误,如果我删除第一个VirtualHost,我不会得到。

干杯

您需要添加NameVirtualHost

尝试添加以下内容

 NameVirtualHost 123.0.1.2:80 NameVirtualHost 123.0.1.2:443 

更多信息:

http://httpd.apache.org/docs/2.2/vhosts/name-based.html