HTTPS仅在localhost上而不在域上

时间:2013-11-02 13:31:19

标签: apache ubuntu ssl https

我在家用服务器上安装了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

1 个答案:

答案 0 :(得分:0)

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

确保将443虚拟主机设置为唯一具有权威性的vhost,并使用该证书。

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

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

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