2016-12-30 156 views
0

有人可以指我在这里做错了吗? 在具有两个httpd和tomcat8我需要托管如下2点一个服务器实例:阿帕奇虚拟主机与域和子域

http://localhost:8888/ - should be accessed as www.example.com 
http://localhost:8080/webapp1 - should be accessed as webapp1.example.com 

我在httpd.conf中尝试虚拟主机,但只有www.example.com工作。

<VirtualHost *:80> 
    ProxyPreserveHost On 
    ProxyRequests Off 
    ServerName www.example.com 
    ServerAlias example.com 
    ProxyPass/http://localhost:8888/ 
    ProxyPassReverse/http://localhost:8888/ 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName webapp1.example.com 
    ProxyPass/http://localhost:8080/webapp1/ 
    ProxyPassReverse/http://localhost.com:8080/webapp1/ 
    <Proxy *> 
     Order deny,allow 
     Allow from all 
    </Proxy> 
</VirtualHost> 
+0

听起来像是webapp1子域的DNS CNAME设置问题。 – smozgur

+0

@smozgur感谢您的回复。我有example.com(@)和webapp1(CNAME)指向相同的服务器IP。 – ganesh

+0

对不起,试图确定,因为DNS需要一些时间来解决,这经常让我发疯。您在过去的15-20分钟内没有执行CNAME设置,对吧?此外,我经常需要更换浏览器来检查我刚刚进入的子域,只是因为它坚持要从缓存中显示浏览器缓存。 – smozgur

回答

0

使用“httpd -S”验证虚拟配置语法,如下所示。当一切设置正确时,它只显示“Syntax OK”。

# /usr/local/apache2/bin/httpd -S 
VirtualHost configuration: 
Syntax OK 

为了更清楚这里指 - How To Setup Apache Virtual Host Configuration

我希望你有你的本地主机地址主机文件中添加的服务器名(C:\ WINDOWS \ SYSTEM32 \ DRIVERS \ ETC \主机)。 像这样 127.0.0.1 example.com

请分享您找到的解决方案。