在Tomcat上运行的我的Java / JSP / Spring Web应用程序在使用表单中的url时在我的EC2实例上正常运行:www.mydomain.com:8080 / my-webapp /然而,当我尝试设置虚拟时通过在etc / apache2 / sites-enabled中编辑000-default.conf来在apache2上托管它 - 该应用程序仍在运行,这次是www.mydomain.com,但只能到达必须访问MySQL数据库的页面登录用户数据库查询返回页面:
HTTP状态404 - 类型状态报告 信息 description请求的资源不可用。 Apache Tomcat / 7.0.70
我的000-default.conf文件显示为:
<VirtualHost *:80>
ServerName www.mydomain.com
ProxyPreserveHost On
ProxyRequests Off
ServerAdmin ubuntu@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8080/my-webapp/
ProxyPassReverse / http://localhost:8080/my-webapp/
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>
#vim: syntax=apache ts=4 sw=4 sts=4 sr noet
我承认我不理解000-default.conf,感谢任何帮助。谢谢!
答案 0 :(得分:0)
不建议将/
映射到/my-webapp
,因为它需要您完成大量工作才能重写可能位于页面中的每个URL。做其中任何一个都会更好:
ProxyPass /my-webapp/ http://localhost:8080/my-webapp/
ProxyPassReverse /my-webapp/ http://localhost:8080/my-webapp/
或将您的网络应用程序从my-webapp
重命名为ROOT
(大写很重要)然后执行此操作:
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
在任何一种情况下,你都会有更好的运气。