Apache 虚拟主机错误

Apache 虚拟主机错误

在我开始解释我的问题之前,值得注意的是我的 DNS 记录设置正确。

这是一个奇怪的错误,我有一台 IP 为:的服务器,82.4.165.27托管多个虚拟目录。我正在使用 Apache2。

我的http://test.fakepath/网址是通常设置转发到https://test.fakepath。这样就行了。目前它只是加载预期的网页。

因此,http://test.fakepath/url 可以按预期工作,但是 却https://test.fakepath/不行。它错误地加载了https://home.fakepath/

由于某种原因,apache 服务器无法识别*:443该站点的版本https://test.fakepath/

apache2ctl -S输出:

[Sat Apr 11 03:31:29.843972 2015] [core:error] [pid 11925] (EAI 2)Name or service not known: AH00547: Could not resolve host name *443 -- ignoring!
VirtualHost configuration:
*:443                  is a NameVirtualHost
         default server home.fakepath (/etc/apache2/sites-enabled/default.conf:6)
         port 443 namevhost home.fakepath (/etc/apache2/sites-enabled/default.conf:6)
         port 443 namevhost cloud.fakepath (/etc/apache2/sites-enabled/default.conf:20)
*:80                   is a NameVirtualHost
         default server home.fakepath (/etc/apache2/sites-enabled/default.conf:1)
         port 80 namevhost home.fakepath (/etc/apache2/sites-enabled/default.conf:1)
         port 80 namevhost cloud.fakepath (/etc/apache2/sites-enabled/default.conf:15)
         port 80 namevhost test.fakepath (/etc/apache2/sites-enabled/default.conf:29)
         port 80 namevhost vb.fakepath (/etc/apache2/sites-enabled/default.conf:44)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex default: dir="/var/lock/apache2" mechanism=fcntl 
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="steven" id=1000 not_used
Group: name="www-data" id=33 not_used

我的文件:

<VirtualHost *:80>
        ServerName home.fakepath
        ServerAdmin admin@fakepath
        Redirect permanent / https://home.fakepath/
</VirtualHost>
<VirtualHost *:443>
        ServerName home.fakepath
        ServerAdmin admin@fakepath
        DocumentRoot /var/www/home.fakepath
        SSLCertificateFile /home/steven/.ssl/home.fakepath.crt
        SSLCertificateKeyFile /home/steven/.ssl/home.fakepath.key
        SSLCertificateChainFile /home/steven/.ssl/sub.class1.server.ca.pem
</VirtualHost>

<VirtualHost *:80>
        ServerName test.fakepath
        ServerAdmin admin@fakepath
        DocumentRoot /var/www/test.fakepath
        #Redirect permanent / https://test.fakepath/
</VirtualHost>
<VirtualHost *443>
        ServerName test.fakepath
        ServerAdmin admin@fakepath
        DocumentRoot /var/www/test.fakepath
        SSLCertificateFile /home/steven/.ssl/test.fakepath.crt
        SSLCertificateKeyFile /home/steven/.ssl/test.fakepath.key
        SSLCertificateChainFile /home/steven/.ssl/sub.class1.server.ca.pem
</VirtualHost>

答案1

由于某种原因,Apache 服务器无法识别 *:443 版本的https://test.fakapath/地点。

你需要改变

 <VirtualHost *443>

到:

 <VirtualHost *:443>

在 test.fakapath 的 vhost 中

(请注意您的配置中缺少冒号)

相关内容