将tomcat重定向到本地系统中的apache
Posted
技术标签:
【中文标题】将tomcat重定向到本地系统中的apache【英文标题】:redirect tomcat to apache in local system 【发布时间】:2019-11-17 04:16:05 【问题描述】:我在 apache tomcat 上运行一个 spring MVC 项目,8080 端口位于http://localhost:8080/project_name/
我的依赖项在 apache 系统中,该系统在 80 端口上运行,对于这种情况,我需要将此 URL 运行为 http://localhost:80/project_name/
我正在为 apache 使用 XAMPP
注意:Tomcat 只能在 8080 端口上运行
我已尝试在httpd.conf
文件中添加 VirtualHost
<VirtualHost *:80/project_name/>
ProxyPreserveHost On
ProxyRequests Off
ServerName http://localhost/
ServerAlias http://localhost/
ProxyPass / http://localhost:8080/project_name/
ProxyPassReverse / http://localhost:8080/project_name/
</VirtualHost>
但它重定向为 http://localhost/project_name/project_name/project_name/project_name/project_name/project_name/project_name/project_name/project_name/project_name/project_name/project_name/project_name/project_name/project_name/project_name/project_name/project_name/project_name/project_name/
并显示如下错误
有人可以帮忙吗?
任何解决方案都是值得赞赏的
谢谢
【问题讨论】:
您的 VirtualHost 设置只能是<VirtualHost *:80>
。
我只是替换了你提到的 VirtualHost 但它重定向为localhost/project_name/project_name/project_name/project_name/…
@Nic3500 你能发一些简短的解决方案吗
【参考方案1】:
我试过了
<VirtualHost *:80>
ServerName localhost
ProxyPass / http://localhost:8080/
</VirtualHost>
这工作正常我可以访问http://localhost:8080/project_name
为http://localhost/project_name
但我无法通过 apache 服务器访问资源(例如:http://localhost/resources/images/header-logo-mini.jpg
)
最后,我通过阅读documentation得到了解决方案
我的解决办法是
<VirtualHost *:80>
ServerName localhost
ProxyPass /project_name/ http://localhost:8080/project_name/
</VirtualHost>
感谢@Nic3500
谢谢大家
【讨论】:
以上是关于将tomcat重定向到本地系统中的apache的主要内容,如果未能解决你的问题,请参考以下文章
Apache 2.4 将本地虚拟主机重定向到 https 而不是 http