2013-07-18 57 views
-1

我试图为我的apache服务器设置一个digicert ssl通配符证书。我对某件事有点困惑。我有以下的配置至今:使用虚拟主机在apache服务器上设置ssl证书

NameVirtualHost *:80 
<VirtualHost *:80> 
    ServerName x.y.com 
    ServerAlias x.y.com 
    DocumentRoot /webapps/x/public 
    <Directory /webapps/x/public> 
    Options -MultiViews 
    Order deny,allow 
    Allow from all 
    </Directory> 
    ErrorLog /var/log/apache2/y.com_error.log 
    LogLevel warn 
    CustomLog /var/log/apache2/y.com_access.log combined 
    ServerSignature On 
</VirtualHost> 

NameVirtualHost *:443 
<VirtualHost *:443> 
    ServerName x.y.com 
    ServerAlias x.y.com 
    DocumentRoot /webapps/x/public 
    <Directory /webapps/x/public> 
    Options -MultiViews 
    Order deny,allow 
    Allow from all 
    </Directory> 
    ErrorLog /var/log/apache2/y.com_error.log 
    LogLevel warn 
    CustomLog /var/log/apache2/y.com_access.log combined 
    ServerSignature On 

    SSLEngine on 
    SSLCertificateFile /etc/certificates/www_y_com.crt 
    SSLCertificateKeyFile /etc/certificates/www_y_com.key 
    SSLCertificateChainFile /etc/certificates/DigiCertCA.crt 
    RailsEnv myenv 
</VirtualHost> 

,但我得到:

了NameVirtualHost *:80没有VirtualHosts(98)地址已在使用: make_sock:无法绑定到地址0.0。 0.0:443没有听插座可用 ,关停

我应该如何配置此,为了使工作?

非常感谢!

+0

也许你应该在[sf]上提出这个问题。 –

回答

1

一目了然,您的虚拟主机XML看起来是正确的。 我通常将NameVirtualHost指令写入ports.conf文件,然后每个虚拟主机都必须有自己的文件。在我的系统上,它位于/ etc/apache2/sites-available/your-domain-name

还有一件事。确保您的路由器中的端口443已打开。我总是忘记这一点,花费数小时的时间试图找出一些事情,当它像在你的路由器配置中的端口转发443到你的服务器ip一样简单时。

另外不要忘记启用该网站。

# enable site 
sudo a2ensite 

# disable site 
sudo a2dissite