具有域和子域的Apache虚拟主机
有人能告诉我我做错了什么吗? 在一个同时具有httpd和tomcat8的服务器实例上,我需要托管2个站点,如下所示:具有域和子域的Apache虚拟主机,apache,virtualhost,tomcat8,Apache,Virtualhost,Tomcat8,有人能告诉我我做错了什么吗? 在一个同时具有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中尝试过VirtualHost,但只有www.example.com起作用
http://localhost:8888/ - should be accessed as www.example.com
http://localhost:8080/webapp1 - should be accessed as webapp1.example.com
我在httpd.conf中尝试过VirtualHost,但只有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>
代理主机
代理请求关闭
服务器名www.example.com
ServerAlias example.com
ProxyPass/http://localhost:8888/
ProxyPassReverse/http://localhost:8888/
ServerName webapp1.example.com
ProxyPass/http://localhost:8080/webapp1/
ProxyPassReverse/http://localhost.com:8080/webapp1/
命令拒绝,允许
通融
使用“httpd-S”验证虚拟配置语法,如下所示。当所有设置都正确时,它只显示“Syntax OK”
# /usr/local/apache2/bin/httpd -S
VirtualHost configuration:
Syntax OK
欲了解更多信息,请参阅此处-
我希望您已经在主机文件(C:\WINDOWS\System32\drivers\etc\hosts)中添加了带有本地主机地址的服务器名称。
这样地
127.0.0.1 example.com
请分享您找到的解决方案。听起来像是webapp1子域的DNS CNAME设置问题。@smozgur感谢您的回复。我的example.com(@)和webapp1(CNAME)都指向同一个服务器IP。很抱歉,我正在尝试确定,因为DNS需要一些时间来解析,这经常让我发疯。您在过去15-20分钟内没有进行CNAME设置,对吗?此外,我经常需要更改浏览器以检查我新输入的子域,因为浏览器缓存坚持从cache.btw显示,CNAME应该指向@,而不是IP地址。我知道这可能也不是问题,但值得一提。嗯,8080和8888都配置正确吗?我知道回答这些问题很烦人,但我正在努力找出问题所在。事实上,我从未使用过ProxyPass,但它不应该影响httpd侦听端口的方式。