如何使用Apache重定向对Node-Red的请求?

时间:2019-05-03 18:41:01

标签: apache docker ssl node-red portainer

我正在AWS中运行一个带有docker服务器(由Portainer管理)的Ubuntu,该服务器具有以下两个正在运行的容器:

1-NodeRed(正在提供我的API)
2-Apache(托管使用上述NodeRed的API的站点)

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

问题是:有没有一种方法可以在Apache中创建某种“映射”来接收来自HTTPS的请求并重定向到HTTP中的NodeRed(两者都在同一服务器上运行)?

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

1 个答案:

答案 0 :(得分:0)

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

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

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