0

我在我的家庭服务器上安装了 SSL 证书。我可以访问 localhost 但不能访问https://subdomain.ofmyhp.com

我对 SSL 不太了解,所以我按照说明安装和生成 SSL 证书。在说明中据说要创建一个新文件 /etc/apache2/sites-available/ssl 但我已经有一个文件 /etc/apache2/sites-available/default-ssl 两者应该相同吗?

这是文件 /etc/apache2/sites-available/ssl 的内容

<virtualhost *:443>
    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/apache.pem
    DocumentRoot /var/www
</virtualhost>

这是我的 /etc/apache2/ports.conf 的内容

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

在ports.conf中也标注了使用defaults-ssl文件配置Apache监听443

编辑:

今天我了解到还有一个主机文件(/etc/hosts)。这就是我的样子(当然有一个例子)。

80.110.45.25    home.example.com        mypc
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
4

1 回答 1

0

由于当前的 apache 和 ssl 限制。您只能在机器上为每个端口 (443) 运行一个证书。

确保将 443 虚拟主机设置为唯一的权威虚拟主机监听和使用该证书。

如果您需要额外的虚拟主机,则需要监听不同的端口。

许多人通过在 apache 前面放置代理或负载平衡服务来解决这个问题。但这超出了家庭/开发环境的范围。

此外,要在 ubuntu 中启用新站点配置,请使用 a2ensite 命令。

于 2013-11-02T14:26:42.273 回答