【问题标题】:Apache as reverse proxy doesn't workApache 作为反向代理不起作用
【发布时间】: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 没有为 / 提供服务。我仍然有点困惑,除了&lt;Proxy&gt; 节之外,我的设置几乎完全相同,没有任何问题。顺便说一句,您在 Apache 中启用了 Options +Indexes 并且可能不想要。但除此之外,恐怕我不确定。
  • 请添加解决方案作为您自己的答案。您将能够在 2 天左右后接受它。这就是继续 SO 的方式,而不是通过添加 Solved 来编辑标题。
  • 愚蠢地,似乎我忘记发出配置最后但并非最不重要的命令(我的 .conf 文件名是 proxy-host): sudo a2ensite proxy-host 我希望至少这对其他人有用第一次需要设置反向代理的人。任何情况下,谢谢stdunbar!

标签: apache tomcat reverse-proxy


【解决方案1】:

有类似问题的朋友别忘了做:

sudo a2ensite proxy-host 

(假设您的 .conf 文件名为 proxy-host)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    • 2014-11-25
    • 2017-10-15
    • 2016-12-20
    • 2010-11-20
    相关资源
    最近更新 更多