【发布时间】:2018-08-22 19:39:59
【问题描述】:
我正在尝试在代理后面发布一个以 /x/services 作为入口点的 Spring 应用程序(也带有 Spring Security)。它在 Google Engine (Debian) 的 8080 中的 Tomcat 中运行。我将 Apache 2 配置为具有下一个配置的反向代理
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ProxyRequests off
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPreserveHost On
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
# Servers to proxy the connection, or
# List of application servers Usage
ProxyPass / http://127.0.0.1:8080/x/services/
ProxyPassReverse / http://127.0.0.1:8080/x/services
ServerName localizator.org
ServerAlias *.localizator.org
</VirtualHost>
我检查了很多示例,似乎没问题,但我得到的唯一响应是“/索引”页面。而且 Apache 日志根本没有帮助。
任何帮助将不胜感激。
【问题讨论】:
-
如果你直接点击Tomcat会发生什么(即
http://hostname.tld:8080/x/services/)?换句话说,是 Tomcat 还是代理有问题? -
Tomcat 工作正常,是代理和 Tomcat 之间的连接失败。 “Index of /”页面,应该意味着 Apache 没有作为代理工作,不是吗?
-
是的,你是对的,因为 Tomcat 没有为
/提供服务。我仍然有点困惑,除了<Proxy>节之外,我的设置几乎完全相同,没有任何问题。顺便说一句,您在 Apache 中启用了Options +Indexes并且可能不想要。但除此之外,恐怕我不确定。 -
请添加解决方案作为您自己的答案。您将能够在 2 天左右后接受它。这就是继续 SO 的方式,而不是通过添加 Solved 来编辑标题。
-
愚蠢地,似乎我忘记发出配置最后但并非最不重要的命令(我的 .conf 文件名是 proxy-host): sudo a2ensite proxy-host 我希望至少这对其他人有用第一次需要设置反向代理的人。任何情况下,谢谢stdunbar!
标签: apache tomcat reverse-proxy