反向代理apache到localhost服务器

时间:2015-09-18 18:52:56

标签: apache clojure proxy

我有一个在localhost:3000上运行的网络应用程序。我也有一个apache服务器。我想反向代理apache服务器,以便将对/ mywebapp的请求转发到在localhost:3000上运行的服务器。

我目前在httpd.conf文件的底部有以下配置,但是当我尝试访问它时出现服务器错误:

  ProxyPass /mywebapp http://localhost:3000
  ProxyPassReverse /mywebapp http://localhost:3000

编辑 - 更多详情:

我正在使用java -jar myapp.jar运行jetty服务器。我想将请求转发到apache服务器,监听:80到jetty服务器。

我已经启用了mod_proxy_http.so和mod_proxy.so。

我可以告诉服务器在localhost上运行 - 它使用适当的http响应响应curl。所以我很确定问题出在我的apache设置上,但我无法想象问题会是什么。

conf.d中的Apache conf文件供参考:http://pastebin.com/vhXwjbQe

我在httpd.conf中得到了这个:

Include conf.d/*.conf

1 个答案:

答案 0 :(得分:0)

很难给出一个通用的答案,因为每种情况都不同所以这里有一些调试问题要问自己:

  • 如果协议和端口在内部服务上正确,http和3000。
  • 服务是否实际侦听来自localhost的连接?它是否在docker容器等中运行,需要它在不同的接口上侦听?您可以通过查看mywebapp日志的输出来检查这一点,并查看请求是否通过代理进行。

  • 内部服务上的路径是否包含传递给Apache的前缀,或者apache是​​否需要将其删除。例如,如果mywebapp期望路径" / foo / bar"和apache的反向代理正在发送它包含的上下文路径" / mywebapp / foo / bar"然后它将不匹配mywebapp中的任何路径。