如何托管仅限 web.config 的服务器?



上下文

请参阅此问题:在 Azure 服务总线命名空间上启用 CORS

真的,我想要一个前端的ReactJS应用程序,它与Azure API通信,并将结果的一部分呈现到屏幕上。然后从用户获取输入,并将其发送回 Azure API。冲洗并重复。 不幸的是,CORS 几乎排除了这一点,并且您不能 [1] 覆盖 ServiceBus 命名空间的 CORS 规则。

因此,建议的解决方案是一个精简的代理服务器,代理Azure API,以规避CORS。

(非常欢迎这个问题的替代解决方案!

[1] 阅读:我目前看不到任何方法,我的谷歌搜索也看不到。

问题

另一个问题的用户提出了相关的web.config文件,所以现在我想创建该代理服务器。我真的不希望该服务器执行其他任何操作,我希望它尽可能透明。

设置该服务器的最简单方法是什么?


有点希望我能做这样的事情: "告诉 Azure 我想要一个 Web 服务器,并将该 web.config 文本粘贴/上传到 Azure 门户"?

如果它是相关的,目前我的堆栈除了 npm 和 JS Create-React-App 模板的堆栈之外什么都没有。我想我们也会在 Azure 中托管网站。

我让这个工作,而且它非常轻松 - Azure可以JustDoThis。

记录我在这里为自己写的笔记,为任何未来迷失的流浪者写:)


如链接问题中所述,Azure 服务器不会(也不能(启用 CORS,因此我们需要以某种方式规避它。方法是创建一个反向代理服务器,该服务器接受请求,将其转发到 Azure,接收响应,添加相关的 CORS 标头并将其返回给调用方。

以下步骤,除了跳过"基本身份验证"步骤(步骤#3和#4(,从这个Microsoft博客:https://blogs.msdn.microsoft.com/mihansen/2018/04/18/reverse-proxy-with-basic-authentication-in-azure-web-app/

  • 步骤 1:创建新的 Azure Web 应用
  • 步骤 2:添加 applicationHost.xdt 文件(Homesite(
  • 第 2a 步:使用提供的模板设置 .xdt 文件的内容(我认为它实际上是一个web.config文件?
<?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>
  • 跳过步骤3和4(与身份验证有关,如果只是重定向,则不需要身份验证。
  • 步骤 5:更新/修改/创建重写规则

第 2 步是通过 KUDU 实现的,可在此处访问:

https://yourazuresitedomain.scm.azurewebsites.net/

关于什么是 KUDU 以及如何使用它的一些链接:

  • https://blogs.msdn.microsoft.com/benjaminperkins/2014/03/24/using-kudu-with-windows-azure-web-sites/
  • https://www.jamessturtevant.com/posts/How-to-add-edit-and-remove-files-in-your-azure-webapp-using-the-kudu-service-dashboard/

相关内容

  • 没有找到相关文章

最新更新