![端口 443 上加载了错误的应用程序](https://linux22.com/image/625456/%E7%AB%AF%E5%8F%A3%20443%20%E4%B8%8A%E5%8A%A0%E8%BD%BD%E4%BA%86%E9%94%99%E8%AF%AF%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F.png)
我有一台带有两个 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。