使用虚拟主机在apache服务器上设置ssl证书

时间:2013-07-18 18:04:26

标签: ssl apache2 debian ssl-certificate

我正在尝试为我的apache服务器设置digicert 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没有侦听套接字   可用,关闭

我应该如何配置才能使其正常工作?

非常感谢!

1 个答案:

答案 0 :(得分:1)

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

还有一件事。确保路由器中的端口443已打开。我一直忘记这一点,花了好几个小时试图找出一些东西,就像从路由器配置中将端口转发443简单到你的服务器ip一样。

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

# enable site
sudo a2ensite

# disable site
sudo a2dissite