apache - https 仅适用于 site1,但 site2 不适用于同一台服务器

标签 apache ssl apache2 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 就像虚拟主机失败一样

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

$ 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> 

最佳答案

听起来您的主配置文件中可能缺少 NameVirtualHost *:443。您可以通过检查 apachectl -S

的输出来检查是否正在获取虚拟主机配置

关于apache - https 仅适用于 site1,但 site2 不适用于同一台服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21588304/

相关文章:

php - upload_max_filesize 未反射(reflect)在 phpinfo() 中

php - 您必须 cd 到哪个文件夹才能使用 "mysql --max_allowed_packet"?

Apache 服务器无法关闭(使用 Stack Builder 安装 EnterpriseDB)

ssl - 如何使 SSL 与 1and1 和 heroku 一起工作

rest - 无法为 Kafka Connect REST API 配置 SSL

php - 加载 xdebug 的 zend_extension 时本地主机站点出现黑屏问题? (Win 7, Apache 2.2, cakePHP 1.2)

apache2 - Vagrant + Chef Solo 不使用 Apache 属性

php - 如何让php和mysql使用不同的核心

java - 配置 spring-boot 项目使用 SSL 后响应为空

php - 在 PHP 中,捕获异常需要花费大量时间