提问人:pete_friedman 提问时间:7/23/2023 最后编辑:pete_friedman 更新时间:7/27/2023 访问量:35
第二个 ProxyPass 在 Bitnami MEAN Apache 2.4 盒子上不起作用
2nd ProxyPass not working on Bitnami MEAN Apache 2.4 box
问:
我正在运行一个 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 问题。
有人遇到过这个问题吗?
答: 暂无答案
评论