使用 apache http 服务器部署前端和后端

Deploying frontend and backend using apache http server

我是网络开发的新手,正在尝试了解其工作原理。

我有一个域为 www.example.com 的 Debian 远程服务器。
在它上面我有一个 java 应用程序 运行 作为端口 4321 上的守护进程。
我还在 Debian 远程服务器上设置了一个 apache 服务器,该服务器提供一个 index.html 文件,该文件包含我的应用程序的前端,包括需要向 http://localhost:4321/data 发送获取请求的 java 脚本代码从我的后端端口 4321 获取数据并将其呈现在 html 文件中。

我知道这对你们中的许多人来说似乎很明显,但是当从我的浏览器(不是 Debian 远程服务器,而是我自己的本地计算机)调用 www.example.com 时,我得到 index.html 文件显示在我的浏览器,但脚本标记内的所有获取请求方法都失败了,因为它们将 localhost 解释为我的本地计算机,并试图与我计算机上端口 4321 上的应用程序通信以获取数据而不是 www.example.com,这显然不存在。

我错过了什么,我是否以正确的方式托管我的应用程序?

提前致谢。

假设您还将对 /data 的请求代理到 java 应用程序,您正在以典型方式托管内容。

异常部分是客户端 java 脚本请求明确尝试对本地主机发出请求。正如您所说,这行不通,因为它在每个浏览器中运行,而不是在代理服务器上运行。这是一种客户端技术。

如果您的代理服务器(例如 CGI 或 apache 模块)或您的 java 应用程序的另一部分正在获取更多数据,“localhost”唯一可行的方法。