【发布时间】:2016-01-28 02:56:42
【问题描述】:
我有一个运行基于 Hapi.js 的 Node 应用程序的 Azure Web 应用程序(以前称为 Azure 网站)。 Hapi 在三个不同的端口上运行三个不同的应用程序。在本地,我正在运行 nginx,并且有 3 个不同的域,每个域都使用 proxy_pass 指向不同的端口:
api.business.mywebsite.com --> localhost:3001
api.customer.mywebsite.com --> localhost:3002
api.admin.mywebsite.com --> localhost:3003
理想情况下,我希望在我的 Azure Web 应用程序上进行类似的设置,其中 Hapi 服务器在端口 3001-3003 上运行,并基于指向 mywebsite.azurewebsites.net 的传入主机名(例如:api.business.mywebsite.com) ,将代理到该特定应用程序正在运行的端口。我已经阅读了this article 以及其他一些内容,但我仍然不太确定 a) 是否可能以及 b) 如何配置它。
提前致谢!
【问题讨论】:
-
重读您的问题,您为什么要设置这样的反向代理?为什么不让这些域直接指向您想要的目的地呢?我没有看到您通过使用反向代理获得了什么
-
我不确定我将如何做到这一点。这是一个在三个不同端口上服务的单节点应用程序。本质上,应用程序为每个端口安装一组特定的路由。这并不是说我想完全重定向到不同的站点,我只是希望能够根据请求的来源在内部指向一个特定的端口。例如,我将
api.business.mywebsite.com指向mywebsite.azurewebsites.net,它会查看请求来源并查看api.business.mywebsite.com,然后将该请求转发到端口3001 上的应用程序。 -
为什么要将请求路由到不同的端口?这给了你什么?
-
正如我上面提到的,我有一个在三个不同端口上提供受限访问 API 的应用程序,但具有共享代码库。如果在 Azure Web 应用程序中无法做到这一点,那很好——我可以改变我的方法,但只是寻找一个明确的答案。感谢您的帮助:)
-
不,不可能在 Azure Web 应用上打开不同的端口。对于您想要的用途,我怀疑您可以使用比打开端口重定向流量更好的选择
标签: azure iis proxy azure-web-app-service