【问题标题】:Deploying frontend and backend using apache http server使用 apache http 服务器部署前端和后端
【发布时间】:2021-05-18 22:24:21
【问题描述】:

我是 Web 开发的新手,并试图了解事情是如何运作的。

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

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

我缺少什么,我是否以正确的方式托管我的应用程序?

提前致谢。

【问题讨论】:

    标签: java html linux apache httpserver


    【解决方案1】:

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

    不正常的部分是客户端 javascript 请求显式地尝试向 localhost 发出请求。正如你所说,这行不通,因为它在每个浏览器中运行,而不是在代理服务器上。这是一种客户端技术。

    “localhost”工作的唯一方法是,如果您的代理服务器(例如 CGI 或 apache 模块)或您的 Java 应用程序的另一部分正在访问更多数据。

    【讨论】:

      猜你喜欢
      • 2018-12-27
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 2021-10-09
      • 2011-06-15
      • 1970-01-01
      • 2019-07-10
      • 2013-09-06
      相关资源
      最近更新 更多