好吧,我没有很好的方式从逻辑上来说明这一点..所以我会尽我最大的努力来描述它,但要提前为做得不好而道歉。
我有6个左右的子域,最近在我的服务器上安装了SSL证书。如果使用https,我的所有入站流量似乎都通过主域,而不是6个子域中的任何一个。
所以我举了个例子:
domain.com - main domain sub1.domain.com sub2.domain.com sub3.domain.com sub4.domain.com sub5.domain.com sub6.domain.com
如果我使用https://subX.domain.com (X是上面的数字)。不使用subX中的文件。我通过在域的每个变体中放置几个种子文件来测试这个概念。都是独一无二的和随机的。所以任何一个域都不可能拥有这些文件。
使用我得到的6个潜艇中的任何一个..但是,如果我使用domain.com或subX.domain.com以及一个仅在domain.com中使用的文件,则示例: domain.com具有iiiindext25.html,但所有subs都没有。
如果我执行https://subX.domain.com/iiiindext25.html,我会看到该文件,如果我执行http://subX.domain.com/iiiindext25.html,我不会看到该文件,我会看到我所期望的404错误。
如果我对我分别放入其中的任何文件执行http://subX.domain.com/操作,我就会看到这个文件。
因此,总的来说,只要https://正在运行,所有流量都会被路由到主域。我不认为这是正确的行为。有什么建议或想法可能是错误的吗?
发布于 2012-10-10 06:51:43
现在的情况是,https正在监听根文件夹,我对Apache并不完全熟悉,但所有的web服务器都这么认为。您可以尝试检查/etc/httpd/conf.d/ssl.conf,您将看到哪个文件夹是默认签名的。
现在您可以编辑您的虚拟主机并添加
<VirtualHost *:443>
ServerName subX.example.com
DocumentRoot /yoursite/www
SSLEngine on
SSLCertificateFile /etc/ssl/private/subX.example.com.pem
</VirtualHost>
但请记住,如果证书不是通配符,您将获得站点的安全证书不受信任的!
并在虚拟主机中更改后重新启动apache
https://stackoverflow.com/questions/12813407
复制