首页 > 解决方案 > 在 docker 中使用 Apache 服务网站时无法发出内部 REST 请求

问题描述

我正在为我的后端 REST 调用运行一个非常基本的网页(HTML + JS/JQuery),并使用 Apache 的容器来处理传入的请求。但我不确定如何最好地对我的后端进行 REST 调用。我的网站加载在:

http://<public_ip>:86/

但是我的后端暴露了一个不同的端口,8080. 由于我不能执行相对 URL(因为目标位于另一个端口上),我一直在尝试使用本地主机的网络 (127.0.0.1:8080) 或 docker 主机 (192.168.99.100:8080) 使用绝对 URL )。它们都在本地工作,但是当从网络外部连接时,它们显然没有连接。

一个简单的解决方法是在 JS 代码中使用我的公共 IP 地址,但这似乎是不可取的。我想我假设当我为 UI 和后端创建一个容器时,向 UI 发出请求的人也不需要能够连接到后端。

Apache Dockerfile 非常基础:

FROM httpd:2.4-alpine
WORKDIR /usr/local/apache2/htdocs/
COPY ./docker/frontend/site/ .

也许我没有设置一些路由?对Apache不是很熟悉,所以不知道从哪里开始。

谢谢

标签: jquerydockerapacheresthttpd.conf

解决方案


推荐阅读