将SSL添加到我的网站

时间:2012-05-12 21:01:40

标签: apache ssl https

我有以下虚拟主机配置:

listen 80
listen 443
servername "example.com"
serveradmin "email@example.com"
namevirtualhost *:80
namevirtualhost *:443

directoryindex  index.html index.php
options -indexes -multiviews +followsymlinks

<directory /Volumes/dev1/http>
    allowoverride all
</directory>

<virtualhost *:80 *:443>
    servername example.com
    serveralias www.example.com
    documentroot "/Volumes/dev1/http/example"
    rewriteengine on
    SSLCertificateFile "/Volumes/dev1/ssl/_ssl-cert.crt"
    SSLCertificateKeyFile "/Volumes/dev1/ssl/_ssl-privatekey.crt"
    SSLCertificateChainFile "/Volumes/dev1/ssl/_ssl-csr.crt"
</virtualhost>

当然example.com只是一个......例子。

如果我访问http://example.com,一切都很顺利,但如果我尝试访问HTTPS版本,我会

Safari can’t open the page “https://example.com/” because Safari
can’t establish a secure connection to the server “example.com”.

_ssl*个文件全部到位,终端正在运行httpd -t返回Syntax OK

我做错了什么?谢谢!

1 个答案:

答案 0 :(得分:1)

这就是我正在使用的(仅限vhosts部分),省略了FCGID,suexec和PHP特定部分:

    <VirtualHost *:80>
      ServerName example.com
      DocumentRoot "/var/www/example.com/htdocs"
      <Directory "/var/www/example.com/htdocs/">
        Options -Indexes
        AllowOverride All
        Order allow,deny
        Allow from All
      </Directory>

      ErrorLog "/var/www/example.com/error.log"
      CustomLog "/var/www/example.com/access.log" combined
    </VirtualHost>

    <VirtualHost *:443>
      ServerName example.com
      DocumentRoot "/var/www/example.com/htdocs"
      <Directory "/var/www/example.com/htdocs/">
        Options -Indexes
        AllowOverride All
        Order allow,deny
        Allow from All
      </Directory>

      SSLEngine on
      SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
      SSLCertificateFile /etc/apache/ssl/example.com.crt
      SSLCertificateKeyFile /etc/apache/ssl/example.key
      SSLCertificateChainFile /etc/apache/ssl/gd_bundle.crt

      ErrorLog "/var/www/example.com/error.log"
      CustomLog "/var/www/example.com/access.log" combined
    </VirtualHost>