0

我们有多个子域,每个子域在 httpd.conf 中都有自己的虚拟主机条目,在 ssl.conf 中也有(对于那些支持 https 的)。我们的主要 www 子域具有与之关联的 GoDaddy 证书。我现在在我们的开发服务器上配置的子域(“api.bulbstorm.com”)有一个 ssl.conf 虚拟主机条目,如下所示:

<VirtualHost 172.16.247.153:443>
  DocumentRoot "/var/www/api"
  ServerName api.bulbstorm.com:443
  ErrorLog logs/api-error_log
  CustomLog logs/api-access_log common
  LogLevel warn
  SSLEngine on
  SSLProtocol all -SSLv2
  SSLCertificateFile /var/www/certs/api/server.crt
  SSLCertificateKeyFile /var/www/certs/api/server.key
  <Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
  </Files>
  <Directory "/var/www/cgi-bin">
    SSLOptions +StdEnvVars
  </Directory>
  <Directory "/var/www/api">
    Options +FollowSymLinks
    RewriteEngine On
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>
  php_value include_path "/var/www/inc"
  SetEnvIf User-Agent ".*MSIE.*" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
  CustomLog logs/ssl_request_log \
    "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

... /var/www/certs/api/ 中的 crt 和密钥文件是根据此处找到的说明使用 openssl 生成的。

api 子域最初指向 www 子域的 godaddy 证书。但是即使我已经将与 api 子域关联的虚拟主机条目更改为指向自签名证书/密钥对(并重新启动了 httpd,完全清除了与上一个 godaddy 证书异常相关的浏览器设置等)浏览器仍在发出警告说证书适用于 www 域。当我查看证书时,浏览器正在拉取它,看起来他们仍在获得 Godaddy 证书。

在 ssl.conf 文件的较高位置有以下几行:

SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

此证书/密钥对不同于 www 子域的虚拟主机条目中引用的 godaddy 证书/密钥对,如下所示:

SSLCertificateFile /etc/www.bulbstorm.com_ssl/www.bulbstorm.com.crt
SSLCertificateKeyFile /etc/www.bulbstorm.com_ssl/www.bulbstorm.com.key
SSLCertificateChainFile /etc/www.bulbstorm.com_ssl/gd_intermediate_bundle.crt

任何人都可以对我遇到的问题提出任何意见,我们将不胜感激。

4

1 回答 1

0

这个问题的“答案”是在 serverfault.com 上重新发布。

于 2010-02-18T16:01:27.250 回答