我有一台运行Apache 2的服务器,它有6个虚拟主机。所有虚拟主机都通过SSL运行。但是,如果您向我的服务器的IP发出请求(例如:https://11.22.33.444),因为我的IP没有证书,您将按字母顺序重定向到最后一个虚拟主机,并且链接到该虚拟主机的任何应用都将加载{ {3}}
我的问题是我怎么能
答案 0 :(得分:1)
Apache在订单方面优先考虑VirtualHosts。通过将一个非常基本的服务器置于顶部,它将所有流量(不能满足其他虚拟主机)重定向到该网页。
#default server b/c first
<VirtualHost *:80>
Redirect 302 / https://www.mainsite.com/error_page
</VirtualHost>
#main server
<VirtualHost *:443>
ServerName www.mainsite.com
DocumentRoot ...
SSLEngine on
SSLCertificateFile.....etc.
</VirtualHost>
<VirtualHost *:443>
ServerName www.secondsite.com
DocumentRoot ...
SSLEngine on
SSLCertificateFile.....etc.
</VirtualHost>
#force https servers
<VirtualHost *:80>
ServerName www.mainsite.com
Redirect 301 / https://www.mainsite.com/
</VirtualHost>
<VirtualHost *:80>
ServerName portfolio.secondsite.com
Redirect 301 / https://www.secondsite.com/
</VirtualHost>