Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Apache上配置子域,以便指向另一个web应用程序或目录;后端使用tomcat_Apache_Tomcat_Amazon Web Services_Subdomain - Fatal编程技术网

如何在Apache上配置子域,以便指向另一个web应用程序或目录;后端使用tomcat

如何在Apache上配置子域,以便指向另一个web应用程序或目录;后端使用tomcat,apache,tomcat,amazon-web-services,subdomain,Apache,Tomcat,Amazon Web Services,Subdomain,我正在使用AWS。我得到了一个拥有apache、tomcat和mysql堆栈的AMI。Apache使用ajp与tomcat连接良好。我如何配置子域,比如images.xyz.com,它应该指向Ubuntu服务器上的一个目录,test.xyz.com,它应该指向apache上tomcat上运行的另一个webapp 我真的很难弄明白这一点,最后不得不求助于我的朋友 修改文件$APACHE/sites available/default <VirtualHost *:80> Serv

我正在使用AWS。我得到了一个拥有apache、tomcat和mysql堆栈的AMI。Apache使用ajp与tomcat连接良好。我如何配置子域,比如images.xyz.com,它应该指向Ubuntu服务器上的一个目录,test.xyz.com,它应该指向apache上tomcat上运行的另一个webapp

我真的很难弄明白这一点,最后不得不求助于我的朋友

修改文件$APACHE/sites available/default

<VirtualHost *:80>
   ServerName test.xyz.com
   ProxyPass / ajp://localhost:8009/test
   ProxyPassReverse / ajp://localhost:8009/
</VirtualHost>

<VirtualHost *:80>
   ServerName images.xyz.com
   DocumentRoot /usr/share/uploads
   <Directory "/usr/share/uploads">
        Options Includes FollowSymLinks MultiViews
        AllowOverride None
         Order allow,deny
      Allow from all
   </Directory>
</VirtualHost>

注意,在@Deepak的示例中,使用上下文路径/测试可能是可取的,也可能是不可取的。如果您希望您的URL显示为http://test.xyz.com/something.jsp 您最好将Tomcat webapp部署为ROOT.war,这样它的上下文路径就是一个空字符串,可以在/上访问。如果希望上下文路径为/test/,则应该ProxyPass/testajp://localhost:8009/test 为了避免在不知道反向代理URL损坏的webapp中重写生成的URL所带来的痛苦。我的想法是,我的主网站将位于xyz.com上,这将部署为ROOT.war;虽然测试网站将是text.xyz.com,但我可以将我的测试war文件部署为test.war。如果我没有在上面创建这个子域;然后,为了测试网站,我必须始终使用xyz.com/test,最终我将重新编写大量URL等。test.xyz.com为我提供了与root.warFWIW相同的contextPath,最好以这样的方式编写您的Web应用程序,以便以这种方式重新定位。我们的主webapp被部署到许多不同的上下文路径,并且无论它们被称为什么都可以工作:我们不需要额外的配置来实现这一点。