0

好吧,我没有很好的方式试图从逻辑上说出来......所以我会尽力描述它,但提前为做得不好而道歉。

我有 6 个左右的子域,最近在我的服务器上安装了 SSL 证书。如果使用 https,我的所有入站流量似乎都通过主域,而不是 6 个子域中的任何一个。

所以我有例如:

domain.com - 主域 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 个潜艇中的任何一个,我都会得到 404 的 .. 但是,如果我使用 domain.com 或 subX.domain.com 以及仅在 domain.com 示例中的文件:domain.com 具有 iiiindext25.html 但没有一个潜艇可以。 .

如果我执行https://subX.domain.com/iiiindext25.html我会看到该文件,如果我执行http://subX.domain.com/iiiindext25.html我看不到该文件,我会看到 404 错误我会期待的。

如果我执行http://subX.domain.com/任何我分别放入任何文件的文件,我都会看到该文件。

因此,总体而言,无论何时 https:// 正在运行,所有流量都会被路由到主域。我不认为这是正确的行为。关于可能出错的任何建议或想法?

4

1 回答 1

1

现在的情况,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

于 2012-10-10T06:51:42.980 回答