【问题标题】:apache - https is only working for site1, but site2 is not working in the same serverapache - https 仅适用于 site1,但 site2 不在同一台服务器上工作
【发布时间】:2014-03-02 12:52:38
【问题描述】:

CentOS:2.6.32-358.23.2.el6.x86_64:

我在同一台服务器上有 2 个网站,现在我拥有 site1.com 和 site2.com 的 SSL 证书。 site1.com 只工作,但 site2.com 不工作,因为它显示 site1.com

示例:当我访问时

https://www.site1.com 完美运行 但是当我访问:https://www.site2.com 时,它不会显示 site2.com 而是显示 site1.com 就像 Virtualhost 失败了

任何建议我在这里做错了什么?

$ cat ssl.conf
LoadModule ssl_module modules/mod_ssl.so
Listen 443
SSLPassPhraseDialog  builtin
SSLSessionCache         shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout  300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom  256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin

# Site One
<VirtualHost *:443>
  DocumentRoot "/var/www/html/site1/public"
  ServerName www.site1.com:443
   <Directory /var/www/html/site1/public>
      DirectoryIndex index.php
      AllowOverride All
      Order allow,deny
      Allow from all
   </Directory>
  ErrorLog logs/ssl_error_log
  TransferLog logs/ssl_access_log
  LogLevel warn
  SSLEngine on
  SSLProtocol all -SSLv2
  SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

  SSLCertificateFile /etc/httpd/conf/ssl.crt/crt1.crt
  SSLCertificateKeyFile /etc/httpd/conf/ssl.key/key1.key
  SSLCertificateChainFile /etc/httpd/conf/ca-bundle/root1.crt
  <Files ~ "\.(cgi|shtml|phtml|php3?)$">
      SSLOptions +StdEnvVars
  </Files>
  <Directory "/var/www/cgi-bin">
      SSLOptions +StdEnvVars
  </Directory>

  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> 


# Site Two
<VirtualHost *:443>
  DocumentRoot "/var/www/html/site2/public"
  ServerName www.site2.com:443
   <Directory /var/www/html/site2/public>
      DirectoryIndex index.php
      AllowOverride All
      Order allow,deny
      Allow from all
   </Directory>
  ErrorLog logs/ssl_error_log
  TransferLog logs/ssl_access_log
  LogLevel warn
  SSLEngine on
  SSLProtocol all -SSLv2
  SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

  SSLCertificateFile /etc/httpd/conf/ssl.crt/crt2.crt
  SSLCertificateKeyFile /etc/httpd/conf/ssl.key/key2.key
  SSLCertificateChainFile /etc/httpd/conf/ca-bundle/root2.crt
  <Files ~ "\.(cgi|shtml|phtml|php3?)$">
      SSLOptions +StdEnvVars
  </Files>
  <Directory "/var/www/cgi-bin">
      SSLOptions +StdEnvVars
  </Directory>

  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> 

【问题讨论】:

    标签: apache ssl apache2 centos


    【解决方案1】:

    听起来您的主配置文件中可能缺少NameVirtualHost *:443。您可以通过检查apachectl -S的输出来检查是否正在拾取虚拟主机配置

    【讨论】:

    • 可能的。否则,请提供您用于 SSL 的专用 IP 来代替 *
    猜你喜欢
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-18
    • 1970-01-01
    • 2016-10-09
    • 1970-01-01
    相关资源
    最近更新 更多