第二个 ProxyPass 在 Bitnami MEAN Apache 2.4 盒子上不起作用

2nd ProxyPass not working on Bitnami MEAN Apache 2.4 box

提问人:pete_friedman 提问时间:7/23/2023 最后编辑:pete_friedman 更新时间:7/27/2023 访问量:35

问:

我正在运行一个 Bitnami MEAN Lightsail 盒子,其中 react 应用程序在端口 3000 上运行,在 Apache 2.4 的端口 9000 上运行一个 express 应用程序,该应用程序在端口 443 上运行 TLS。

Apache 能够代理到 React 应用程序并显示它。React 应用程序调用 Web 服务,该服务应该可以在 localhost:9000 访问 - 但当我检查日志时,却被拒绝并显示 [authz_core:error] AH01630 Error。

做一个netstat,我确实看到我的localhost:3000代理是一个IPv4地址 - 0.0.0.0:3000 但是,我的快速应用程序显示运行IPv6,所以它的地址是::1:9000。

有没有人认为这可能是原因,如果是这样,最好的解决方法是什么。

我在 VirtualHost 条目中以正确的顺序排列了我的 ProxyPass 语句,编辑了 bitnami-ssl.conf 文件,并从特定路径转到最一般的路径,如其他一些帖子中提到的,这是多个 ProxyPass 条目的陷阱。

<VirtualHost _default:443>
 <Proxy */api>
   Require all granted
 </Proxy>

# API
  ProxyPass /api/  "http://localhost:9000/"
  ProxyPassReverse /api/ "http://localhost:9000/"

  #REACT APP FRONT END
  ProxyPass  / "http://127.0.0.1:3000/"
  ProxyPassReverse  /  "http://127.0.0.1:3000/"

</VirtualHost>

在执行通常的 Directory 标记来定义 express app 文件服务目录后,我添加了一个指向 localhost:9000 express app bin 文件夹的 Location 标签,但仍然被拒绝。

我怀疑是 Bitnami MEAN Lightsail 盒子上的其他一些 conf 文件影响了我的 VirtualHost,因为我让它在我的通用 Apache 构建上本地工作。希望熟悉 Bitnami 细微差别的人可能会有一些见解。Bitnami 提供的文档与服务器上的默认设置不匹配,因此它有点像实验性。

当通过控制台连接到机器时,我可以从本地控制台卷曲到盒子上的 localhost:9000 并点击返回 JSON 的服务 - 那里一切看起来都很好,所以毫无疑问 Web 服务确实在运行。

指向“/”的第二个 ProxyPass 确实适用于通过 localhost:3000 代理的 react 应用程序。

这在我的系统上本地工作,所以它一定是某个地方的一些 Bitnami 配置问题或 IPv4 / IPv6 问题。

有人遇到过这个问题吗?

Apache 虚拟主机 Bitnami ProxyPass

评论


答: 暂无答案