【问题标题】:apache serving the wrong ssl certificateapache 提供错误的 ssl 证书
【发布时间】:2017-03-11 20:16:38
【问题描述】:

我的 httpd.conf 文件中有以下两个部分。我在给定位置安装了 *.example.biz 的通配符证书。如您所见,两个部分中的 4 个 SSL 指令是相同的(复制和粘贴)。但是,当我转到 example.biz 时,我收到一个 ssh 错误,说 CA 证书在 2015 年过期。当我转到子域时,我得到正确的证书链,说它在 2018 年过期。我很抱歉我使用的是一个示例,但这是针对必须保密的客户。

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/2017.crt
    SSLCertificateKeyFile /etc/pki/tls/private/my_biz_2016.key
    SSLCertificateChainFile /etc/pki/tls/certs/2017_ca.crt
    <Directory /var/www/MyCompany/example.com/public/>
            AllowOverride All
    </Directory>
    ErrorLog /var/www/logs/example.com/error.log
    CustomLog /var/www/logs/example.com/access.log combined
    DocumentRoot /var/www/MyCompany/example.com/public/
    ServerName example.biz
</VirtualHost>


<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/2017.crt
    SSLCertificateKeyFile /etc/pki/tls/private/my_biz_2016.key
    SSLCertificateChainFile /etc/pki/tls/certs/2017_ca.crt
    <Directory /var/www/MyCompany/SubDomain/public/>
            AllowOverride All
    </Directory>
    ErrorLog /var/www/logs/SubDomain/error.log
    CustomLog /var/www/logs/SubDomain/access.log combined
    DocumentRoot /var/www/MyCompany/SubDomain/public/
    ServerName subdomain.example.biz
</VirtualHost>

最后,如果有帮助,这是我的.htaccess 文件:

# BEGIN WordPress
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>
# END WordPress

另外:我 ping 了两个域,它们都指向同一个服务器,我没有使用 cloudflare 或类似的东西。 我还重新启动了 apache 以确保。

【问题讨论】:

  • 我在ServerName/ServerAlias看不到example.biz
  • 也许这个答案对unix.stackexchange.com/a/217961/26493有帮助
  • 我认为这可能是问题所在,但 GoDaddy 将根域作为备用名称。
  • 我可以正确地假设您在更改配置后重新加载/重新启动了服务吗?
  • @MattClark 在这种情况下,您可以正确地假设我重新启动了它,尽管通常这是一个危险的假设!太容易忘记了。感谢您的评论。

标签: apache .htaccess ssl


【解决方案1】:

我在一个 vhosts 文件中定义了我的所有虚拟主机,但在我的 httpd.conf 文件中,我显然用一组默认值设置了它,例如:

ServerAdmin root@localhost
ServerNAme example.biz
DocumentRoot /var/www/html   # I wasn't using this folder

一旦我删除了那些错误的默认设置,它就开始工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    • 2016-03-01
    • 1970-01-01
    • 2022-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多