【问题标题】:How to use Apache to redirect requests for Node-Red?如何使用 Apache 重定向 Node-Red 的请求?
【发布时间】:2019-05-03 18:41:01
【问题描述】:

我在 AWS 中运行一个带有 docker 服务器(由 Portainer 管理)的 Ubuntu,其中包含这两个正在运行的容器:

1 - NodeRed(服务于我的 API)
2 - Apache(托管使用上述 NodeRed 的 API 的站点)

我已经为此服务器配置了一个域,并将 apache 设置为使用 SSL。 apache 通过 HTTPS 在我的站点上运行正常,但问题是 NodeRed(在端口 1080 中运行)未配置为在 SSL 中运行。这会导致我的网站出现故障,因为我的 API 端点正在 HTTP 下运行,并且由于安全原因被浏览器阻止。

问题是:有没有办法在 apache 中创建某种“映射”,从 HTTPS 接收请求并在 HTTP 中重定向到 NodeRed(两者在同一台服务器上运行)?

我的想法是创建一个像https://api.mysite.com 这样的子域,它发送对 apache 的请求,然后 apache 将其重定向到我的 NodeRed。这可能吗?

【问题讨论】:

    标签: apache docker ssl node-red portainer


    【解决方案1】:

    如果您不想,无需将 API 暴露给外界。由于您的 apache 运行正常,并且两个容器都在同一主机上运行,​​因此只需使用代理将 API 请求转发到 API 容器即可。

    您可以通过在 apache 配置中添加两行来实现此目的,即

    ProxyPass /api/ http://127.0.0.1:1080/
    ProxyPassReverse /api/ http://127.0.0.1:1080/
    

    【讨论】:

    • 感谢您的帮助!我试试看!
    猜你喜欢
    • 2010-10-14
    • 1970-01-01
    • 2017-03-28
    • 1970-01-01
    • 2011-11-01
    • 1970-01-01
    • 2020-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多