我有一台带有两个 Web 应用程序的服务器,其配置如下:
应用程序1:
www.domain1.com
has https version
应用程序2:
www.domain1.com
has not https version
这是我的 domain1 的 VirtualHost 配置:
Listen 443
NameVirtualHost *:443
SSLStrictSNIVHostCheck off
<VirtualHost --ip--:80>
ServerName www.domain1.com
DocumentRoot /usr/local/ROOT
<Directory /usr/local/ROOT>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from All
</Directory>
errorlog /var/log/httpd/domain1.error.log
CustomLog /var/log/httpd/domain1.access.log common
JkMount /* ajpmc
</VirtualHost>
<VirtualHost --ip--:443>
ServerName www.domain1.com:443
DocumentRoot /usr/local/ROOT
<Directory /usr/local/ROOT>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from All
</Directory>
errorlog /var/log/httpd/domain1.error.log
CustomLog /var/log/httpd/domain1.access.log common
SSLEngine on
SSLCertificateFile "/usr/local/security/paadbox.cert"
SSLCertificateKeyFile "/usr/local/security/paadbox.pem"
JkMount /* ajpmc
</VirtualHost>
编辑: 这是 domain2 的配置:
<VirtualHost --ip--:80>
ServerName www.domain2.com
DocumentRoot /var/www/html/domain2
<Directory /var/www/html/domain2>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from All
</Directory>
errorlog /var/log/httpd/domain2.error.log
CustomLog /var/log/httpd/domain2.access.log common
</VirtualHost>
请注意我只有 1 个 IP。
这些 URL 在浏览器中运行良好:
http://www.domain1.com
http://www.domain2.com
https://www.domain1.com
当我尝试加载此 URL (app2) 时:
https://www.domain2.com
第一个应用程序 (app1) 在我的浏览器中加载。有什么问题吗???
答案1
答案2
一般来说,您不能就这样使用 SSL 进行基于名称的虚拟托管。
每个 SSL VirtualHost 需要一个 IP。