gpt4 book ai didi

基于主机名的 Azure Web Apps 反向代理

转载 作者:行者123 更新时间:2023-12-03 04:32:17 24 4
gpt4 key购买 nike

我有一个 Azure Web 应用程序(以前称为 Azure 网站),运行基于 Hapi.js 的节点应用程序。 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 上运行并基于传入的主机名(例如:api.business.mywebsite.com),它指向 mywebsite.azurewebsites.net,将代理到运行该特定应用程序的端口。我读过this article以及其他一些,但我仍然不太确定 a) 是否可能以及 b) 如何配置它。

提前致谢!

最佳答案

以下是有关如何创建反向代理的说明:http://ruslany.net/2014/05/using-azure-web-site-as-a-reverse-proxy/

以下是关键步骤:

1。在您的网站上启用反向代理

在您的站点文件夹中创建一个 applicationHost.xdt 文件,其中包含以下内容:

<?xml version="1.0"?>  
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.webServer>
<proxy xdt:Transform="InsertIfMissing" enabled="true" preserveHostHeader="false" reverseRewriteHostInResponseHeaders="false" />
</system.webServer>
</configuration>

2。将重写规则添加到 web.config 文件中:

规则示例:

<configuration>  
<system.webServer>
<rewrite>
<rules>
<rule name="Proxy" stopProcessing="true">
<match url="^proxyUrl/?(.*)" />
<action type="Rewrite" url="http://www.iis.net/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

要使反向代理基于主机名,只需设置适当的匹配url

关于基于主机名的 Azure Web Apps 反向代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35052062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com