我有一个在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
答案 0 :(得分:0)
很难给出一个通用的答案,因为每种情况都不同所以这里有一些调试问题要问自己:
服务是否实际侦听来自localhost的连接?它是否在docker容器等中运行,需要它在不同的接口上侦听?您可以通过查看mywebapp日志的输出来检查这一点,并查看请求是否通过代理进行。
内部服务上的路径是否包含传递给Apache的前缀,或者apache是否需要将其删除。例如,如果mywebapp期望路径" / foo / bar"和apache的反向代理正在发送它包含的上下文路径" / mywebapp / foo / bar"然后它将不匹配mywebapp中的任何路径。