【问题标题】:Ignore requests to Azure App Service before hitting the web application在访问 Web 应用程序之前忽略对 Azure 应用服务的请求
【发布时间】:2020-04-13 04:55:21
【问题描述】:

我有一个作为 Azure 应用服务运行的 ASP.NET MVC 应用程序。 mydomain.com/api/* 中包含一个已弃用的 API,我想关闭它,因为我现在拥有 api.mydomain.com/*。一旦弃用的 API 被关闭,有些人可能仍在向它发出请求。我可以创建一个返回 404 或类似内容的简单控制器。但我想知道是否有人知道 Azure 中的解决方案,我可以在我的应用程序之前将/api/* 或类似的 URL 列入“黑名单”。我知道 Azure 上提供了不同的产品,我可以在我的网站之前包含处理程序,例如 API 管理。但我不希望改变太多,为什么直接在应用服务上的功能、重写规则或类似的东西在这里会很棒。当一个我知道不应该做任何事情的 URL 请求进来时,我根本不希望调用我自己的应用程序的性能开销。

【问题讨论】:

    标签: azure azure-web-app-service


    【解决方案1】:

    您可以使用 URL 重写来实现。您只需重定向到新路径,而不是阻止旧路径。将以下块添加到 web.config 文件中

    <configuration>
      <system.webServer>  
        <rewrite>  
            <rules>  
              <rule name="Redirect rquests to default azure websites domain" stopProcessing="true">
                <match url="(.*)" />  
                <conditions logicalGrouping="MatchAny">
                  <add input="{HTTP_HOST}" pattern="^mydomain\.com\/api/(.*)" />
                </conditions>
                <action type="Redirect" url="https://api.mydomain.com/{R:0}" />  
              </rule>  
            </rules>  
        </rewrite>  
      </system.webServer>  
    </configuration>
    

    来源:https://stackoverflow.com/a/36631234/1384539

    【讨论】:

    猜你喜欢
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多