【发布时间】:2018-02-21 11:47:19
【问题描述】:
我已经在 Apache2 (2.4.18) 上将 mod_proxy 设置为 tomcat (8.5.28) JSF 应用程序 - 两者都在同一台 Ubuntu (16.04) 机器上。这几乎可以正常工作,因为我可以看到重定向正在发生,但是 tomcat 返回了意外的 404。
一些历史:我已经完成了使用 sudo a2enmod proxy、proxy_http、proxy_ajp、rewrite、deflate、headers、proxy_balancer、proxy_connect、proxy_html 启用 mod_proxy 模块的所有常规工作,是的,我已经重新启动了 apache2。
我的网站是 www.goodfoodwaiheke.org(一家非营利性食品合作社)
在 Apache2 中,我使用以下内容设置了虚拟主机文件 /etc/apache2/sites-enabled/goodfoodwaiheke.org.conf:
<VirtualHost *:80>
ServerName www.goodfoodwaiheke.org
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8080/coop
ProxyPassReverse / http://localhost:8080/coop
</VirtualHost>
我已通过 sudo e2ensite goodfoodwaiheke.org 启用虚拟主机
在浏览器中,我转到http://www.goodfoodwaiheke.org。从 Apache2 到 Tomcat 的重定向似乎有效,因为浏览器的 url 更改为 http://www.goodfoodwaiheke.org/coop/。这很好,因为已部署(工作)的 Tomcat 应用程序位于 coop.war 中。但是,我得到一个 Apache Tomcat 生成的 404 错误。消息是“/coopcoop/”,描述是“源服务器没有找到目标资源的当前表示或不愿意透露存在的表示。”
如果我使用 Ubuntu 框上的浏览器转到代理传递地址 (http://localhost:8080/coop),它会调用 JSF 应用程序。我觉得 404 消息中可能有一个线索,它报告“/coopcoop/”。这几乎肯定是返回 404 的原因,但我不知道它为什么试图访问“coopcoop”资源。
我已经尝试了几乎所有我能想到的东西,如果有任何提示,我将不胜感激。
【问题讨论】:
标签: ubuntu apache2 tomcat8 mod-proxy