Document Root不适用于Apache的Virtual Host设置

时间:2014-01-26 05:01:03

标签: apache

我在httpd.conf中设置了VirtualHost,如下所示:

<VirtualHost xxx.255.118.79:80>
    ServerAdmin hoge@hoge.foo.com
    DocumentRoot /var/www/html
    ServerName main.foo.com
    ErrorLog logs/main.foo.com-error_log
    TransferLog logs/main.foo.com-access_log
</VirtualHost>

<VirtualHost xxx.255.118.79:8080>
    ServerAdmin hoge@hoge.foo.com
    DocumentRoot /opt/another_www/
    ServerName anotherhost.foo.com
    ErrorLog logs/host.foo.com-error_log
    TransferLog logs/host.foo.com-access_log
</VirtualHost>

使用httpd -S看起来还行。

[iron@birdwatch html]$ sudo httpd -S
VirtualHost configuration:
xxx.255.118.79:80      main.foo.com (/etc/httpd/conf/httpd.conf:1012)
xxx.255.118.79:8080    anotherhost.foo.com (/etc/httpd/conf/httpd.conf:1020)
Syntax OK

但是当我访问http://xxx.255.118.79:8080时,它仍然可以访问/ var / www / html。 你能否告诉我如何为8080端口提供apache2服务/ opt / another_www?

谢谢!

1 个答案:

答案 0 :(得分:2)

我意识到运行Apache的本地机器必须能够发现域名。 这意味着它必须是本地IP地址或*。

<VirtualHost *:8080>
  ServerAdmin hoge@hoge.foo.com
  DocumentRoot /opt/another_www/

将其更改为*后,它开始在/ opt / another / www下提供文档。