Apache代理传递和静态资源

Apache代理传递和静态资源,apache,proxy,Apache,Proxy,我有两个应用程序在本地主机上运行,并像这样配置proxypass ProxyPass /app1 http://192.168.56.102:10001/ ProxyPass / http://192.168.56.102:82/ 现在,当我点击url时,我有了app1的内容 如果我使用了我的第二个应用程序的内容 app1索引html包含 而且它不能正常工作,因为它没有将其作为使用的基本url,并且我的Resources无法在加载,因为它没有重定向到正确的应用程序url,并且不包含style.

我有两个应用程序在本地主机上运行,并像这样配置proxypass

ProxyPass /app1 http://192.168.56.102:10001/
ProxyPass / http://192.168.56.102:82/
现在,当我点击url时,我有了app1的内容 如果我使用了我的第二个应用程序的内容

app1索引html包含
而且它不能正常工作,因为它没有将其作为使用的基本url,并且我的Resources无法在加载,因为它没有重定向到正确的应用程序url,并且不包含style.css

在app2上,它工作得很好,因为根url考虑了我的代理规则

那么有没有办法实现我想要的呢

代理到app1时,请使用静态内容的url
如果我使用
它可以工作,但它不是我的应用程序,而且每个静态资源的前缀都是/

你必须为每个项目在tomcat的webapps文件夹中创建两个文件夹。tomcat/webapps/通常必须是一个文件夹,但如果要使用两个项目,则必须将server.xml配置为同时使用这两个文件夹。tomcat/conf/server.xml

您必须在tomcat的webapps文件夹中为每个项目创建两个文件夹。tomcat/webapps/通常必须是一个文件夹,但如果要使用两个项目,则必须将server.xml配置为同时使用这两个文件夹。tomcat/conf/server.xml

如果您的内容不喜欢从/下以外的任何地方提供服务,那么它不是代理友好的。您可以使用mod_rewrite来检查HTTP_REFERER,并在代理规则之前添加/app1前缀。

如果您的内容不喜欢从除/之外的任何地方提供服务,则它不适合代理。您可以使用mod_rewrite检查HTTP_REFERER,并在代理规则之前添加/app1前缀。

实际上我没有使用tomcat,我在var/www文件夹中使用一个nodejs应用程序和一个静态站点。节点js应用程序可在处访问,另一个应用程序可在处访问。我想直接使用服务器名访问我的主应用程序,并通过键入serverName/app1访问其他应用程序。实际上,我没有使用tomcat,我在var/www文件夹中使用一个nodejs应用程序和一个静态站点。节点js应用程序可在处访问,另一个应用程序可在处访问。我想直接使用服务器名访问我的主应用程序,并通过键入serverName/app1访问其他应用程序……我是apache的新成员。您是否有教程来解释如何实现我的目标,因为当我在myserver.com/app1中访问静态内容时,我需要特别说明这一点是使用/style.css加载的。我需要添加/app1前缀,但我怎么知道呢。我不明白这是怎么可能的,在什么条件下,因为我不能在myserver.com/style.css地址有一个文件存在,并且是为第二个应用程序。对不起,没有教程共享。您必须了解http基本上是无状态的。你有时可以看到一个推荐人或一块饼干,为了说明上下文。为了澄清这一点,我需要一个事实,即我有一个可以在我购买的域名上访问的服务器,我只有一个域名,比如说:main.me和我的主应用程序,它是一个节点js应用程序,可以在main.me访问,我还有其他服务,比如jenkins gitlab,我希望能够使用main.me/jenkins或main.me/gitlab问题是这些服务在docker容器中,监听端口8080或8084,当我代理到gitlab主机时,例如css等资源使用/编码,为了找到资源,它查看main.me/style.csi决定使用jenkins.main.me而不是main.me/jenkins it来更改url样式解决了我的问题。我是apache的新手。你有没有教程来解释如何实现我想要的,因为这是特别的。当我在myserver.com/app1中使用/style.css加载静态内容时,我需要添加/app1前缀,但我怎么知道。我不明白这是怎么可能的,在什么条件下,因为我不能在myserver.com/style.css地址有一个文件存在,并且是为第二个应用程序。对不起,没有教程共享。您必须了解http基本上是无状态的。你有时可以看到一个推荐人或一块饼干,为了说明上下文。为了澄清这一点,我需要一个事实,即我有一个可以在我购买的域名上访问的服务器,我只有一个域名,比如说:main.me和我的主应用程序,它是一个节点js应用程序,可以在main.me访问,我还有其他服务,比如jenkins gitlab,我希望能够使用main.me/jenkins或main.me/gitlab问题是这些服务在docker容器中,监听端口8080或8084,当我代理到gitlab主机时,例如css等资源使用/编码,为了找到资源,它查看main.me/style.csi决定使用jenkins.main.me而不是main.me/jenkins it来更改url样式解决我的问题。