我在家用服务器上安装了SSL证书。我可以访问localhost但不能访问https://subdomain.ofmyhp.com。
我对SSL知之甚少,所以我请this instructions安装并生成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
答案 0 :(得分:0)
由于当前的apache和ssl限制。您只能在计算机上为每个PORT(443)运行一个证书。
确保将443虚拟主机设置为唯一具有权威性的vhost,并使用该证书。
如果您需要额外的虚拟主机,则需要侦听不同的端口。
许多人通过在apache之前放置代理或负载均衡服务来解决这个问题。但这超出了家庭/开发环境的范围。
另外,要在ubuntu中启用新站点配置,请使用a2ensite命令。