gpt4 book ai didi

Apache 到 tomcat 代理不工作

转载 作者:行者123 更新时间:2023-11-28 22:11:30 24 4
gpt4 key购买 nike

我有 apache 2.4 和 1 个 tomcat(连接器端口 - 8081 和 AJP - 8009)服务器(都在同一个 linux 机器上),我在 webapps 目录中有一个名为“MyApp”的应用程序文件夹。

Tomcat 直接 URL 是 - http://localhost:8081/MyApp/MyApp --> 这个链接可以正常加载并显示图像,jquery 和 js 工作正常。

我正在使用 mod_proxy 代理所有从 apache 到 tomcat 的请求,如下所述 -

ProxyPass/MyApp ajp://localhost:8009/MyApp/MyApp

ProxyPassReverse/MyApp ajp://localhost:8009/MyApp/MyApp

现在,当我尝试通过 Web 服务器 URL 访问它时,URL 会加载,但/u01/tomcat/webapps/MyApp 目录中的图像、css、jquery 不起作用。

如果我尝试加载图像的直接 URL,例如 - http://localhost/MyApp/images/logo.jpg它不起作用,

在图像的正文中,我看到 -

HTTP 状态 404 -/MyApp/MyApp/images/incidentReport.jpg见上一行,它正在添加一个“MyApp”来获取图像

另一方面,tomcat URL [ localhost:8081/MyApp/images/logo.jpg ] 加载正常。

可能是什么问题?该应用程序的开发人员以这样一种方式设计它,它应该与双重“MyApp”一起工作,即 localhost:8081/MyApp/MyApp

我还需要在网络服务器/tomcat 上做些什么才能使这项工作正常进行?

最佳答案

您需要按照以下步骤操作:

第 1 步:在配置 Apache 之前,您应该启用必要的模块。

a2enmod proxy
a2enmod proxy_http

第 2 步:接下来,您将修改默认配置文件 000-default.conf里面/etc/apache2/sites-enabled设置“代理”功能。

<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://0.0.0.0:8081/
ProxyPassReverse / http://0.0.0.0:8081/
ServerName localhost
</VirtualHost>

第 3 步:接下来,您将修改 server.xml 文件。

<Host name="www.drew-jocham.com" appbase="webapps"
unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="resumesite_log." suffix=".txt"
pattern="common"/>
<Context path="" docBase="/MyApp/MyApp" debug="0" reloadable="true"/>

</Host>

完成配置后,您需要重新启动云服务器以使更改生效。执行以下命令重新启动 Apache:service apache2 restart

就是这样!

阅读更多:https://medium.com/@ldclakmal/deploy-a-java-web-application-in-digitalocean-882226dcdbd5

关于Apache 到 tomcat 代理不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39977826/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com