虚拟主机文件无法正确定向
Virtual host files won't direct correctly
我有 4 个虚拟主机。
我正在使用 Zend 服务器。 httpd.conf 文件似乎包含使用通配符的虚拟主机配置文件,如下所示:
Include "C:\blah\blah2\Zend\ZendServer/etc/sites.d/vhost_*.conf"
我的虚拟主机配置文件如下。现在,令我困惑的是
当我转到 https://www-test.blah.com, or https://www-test2.blah.com, it works fine. But when I go to https://review-test.blah.com 时,它会转到 www-test.blah.com
这让我感到困惑,因为据我所知,一切看起来都是以相同的方式设置的。
是否有可能由于虚拟主机文件是通过通配符包含的,它们包含的顺序是否重要?如果它是按字母顺序排列的,那么它将包含在显示的顺序中。
我注意到的一件事是,如果我在服务器上,https://review-test.blah.com works fine. But when I'm somewhere else my the network, it directs me to https://www-test2.blah.com。
或者是否有其他因素可以影响 Apache 选择虚拟主机的方式?例如,证书文件重要吗?
Listen 80
Listen 443
<VirtualHost *:80>
ServerName portal.blah.com:80
</VirtualHost>
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
NameVirtualHost review-test.blah.com:443
<VirtualHost review-test.blah.com:443>
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
SSLEngine on
SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\review-test.blah.com.crt"
SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\review-test.blah.com.key"
ServerName review-test.blah.com
ServerAlias review-test.blah.com
</VirtualHost>
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
NameVirtualHost www-test.blah.com:443
<VirtualHost www-test.blah.com:443>
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
SSLEngine on
SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.crt"
SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.key"
ServerName www-test.blah.com
ServerAlias www-test.blah.com
</VirtualHost>
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
NameVirtualHost www-test2.blah.com:443
<VirtualHost www-test2.blah.com:443>
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
SSLEngine on
SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.crt"
SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.key"
ServerName www-test2.blah.com
ServerAlias www-test2.blah.com
</VirtualHost>
我能够修复它。
下面的命令有助于查看虚拟主机的解析方式。
httpd -S
我的解决方案如下:
Listen 80
Listen 443
<VirtualHost *:80>
ServerName portal.blah.com:80
</VirtualHost>
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
<VirtualHost *:443>
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
SSLEngine on
SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\review-test.blah.com.crt"
SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\review-test.blah.com.key"
ServerName review-test.blah.com
ServerAlias review-test.blah.com
</VirtualHost>
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
NameVirtualHost *:443
<VirtualHost *:443>
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
SSLEngine on
SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.crt"
SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.key"
ServerName www-test.blah.com
ServerAlias www-test.blah.com
</VirtualHost>
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
<VirtualHost *:443>
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
SSLEngine on
SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.crt"
SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.key"
ServerName www-test2.blah.com
ServerAlias www-test2.blah.com
</VirtualHost>
我有 4 个虚拟主机。
我正在使用 Zend 服务器。 httpd.conf 文件似乎包含使用通配符的虚拟主机配置文件,如下所示:
Include "C:\blah\blah2\Zend\ZendServer/etc/sites.d/vhost_*.conf"
我的虚拟主机配置文件如下。现在,令我困惑的是 当我转到 https://www-test.blah.com, or https://www-test2.blah.com, it works fine. But when I go to https://review-test.blah.com 时,它会转到 www-test.blah.com
这让我感到困惑,因为据我所知,一切看起来都是以相同的方式设置的。
是否有可能由于虚拟主机文件是通过通配符包含的,它们包含的顺序是否重要?如果它是按字母顺序排列的,那么它将包含在显示的顺序中。
我注意到的一件事是,如果我在服务器上,https://review-test.blah.com works fine. But when I'm somewhere else my the network, it directs me to https://www-test2.blah.com。
或者是否有其他因素可以影响 Apache 选择虚拟主机的方式?例如,证书文件重要吗?
Listen 80
Listen 443
<VirtualHost *:80>
ServerName portal.blah.com:80
</VirtualHost>
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
NameVirtualHost review-test.blah.com:443
<VirtualHost review-test.blah.com:443>
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
SSLEngine on
SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\review-test.blah.com.crt"
SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\review-test.blah.com.key"
ServerName review-test.blah.com
ServerAlias review-test.blah.com
</VirtualHost>
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
NameVirtualHost www-test.blah.com:443
<VirtualHost www-test.blah.com:443>
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
SSLEngine on
SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.crt"
SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.key"
ServerName www-test.blah.com
ServerAlias www-test.blah.com
</VirtualHost>
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
NameVirtualHost www-test2.blah.com:443
<VirtualHost www-test2.blah.com:443>
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
SSLEngine on
SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.crt"
SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.key"
ServerName www-test2.blah.com
ServerAlias www-test2.blah.com
</VirtualHost>
我能够修复它。
下面的命令有助于查看虚拟主机的解析方式。
httpd -S
我的解决方案如下:
Listen 80
Listen 443
<VirtualHost *:80>
ServerName portal.blah.com:80
</VirtualHost>
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
<VirtualHost *:443>
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
SSLEngine on
SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\review-test.blah.com.crt"
SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\review-test.blah.com.key"
ServerName review-test.blah.com
ServerAlias review-test.blah.com
</VirtualHost>
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
NameVirtualHost *:443
<VirtualHost *:443>
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
SSLEngine on
SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.crt"
SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.key"
ServerName www-test.blah.com
ServerAlias www-test.blah.com
</VirtualHost>
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
<VirtualHost *:443>
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
OTHER STUFF HERE
SSLEngine on
SSLCertificateFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.crt"
SSLCertificateKeyFile "C:\blah\blah\Apache2\conf\extra\ssl\star.blah.com.key"
ServerName www-test2.blah.com
ServerAlias www-test2.blah.com
</VirtualHost>