3

我正在尝试按照此处的说明锁定对 Azure Web 应用程序的访问 - https://docs.microsoft.com/en-us/azure/frontdoor/front-door-faq#how-do-i-lock -down-the-access-to-my-backend-to-only-azure-front-door

我通过 Azure 门户执行的第一步,但我不确定在哪里执行第二步(过滤传入标头“X-Forwarded-Host”的值)。是通过门户吗?还是通过应用程序本身的主机过滤?还是通过 WAF?

4

4 回答 4

3

自 2020 年 3 月起,Azure Frontdoor 会发送一个X-Azure-FDID标头,其中包含您的 Frontdoor 实例的唯一值。

我写了一篇关于如何利用它来限制对您的网络应用程序的访问的详细博客文章:https ://henrihietala.fi/limit-access-to-your-azure-web-app-from-your-azure-front-door -只要/

于 2020-04-24T07:18:58.100 回答
1

Well App 服务本身不提供任何基于标头值限制访问的服务。应用服务只能过滤 IP 地址上的流量。

于 2019-07-13T21:07:26.497 回答
1

我最终只是添加了一些中间件来做到这一点:

    public class XForwardedHostMiddleware
    {
        private readonly RequestDelegate _next;

        public XForwardedHostMiddleware(RequestDelegate next)
        {
            _next = next;
        }

        public async Task InvokeAsync(HttpContext context, IHostingEnvironment environment, IConfiguration configuration)
        {            
                var forwardedHost = context.Request.Headers["X-Forwarded-Host"].ToString();

                if (forwardedHost != "ex.ample.com")
                {
                    await context.Response.WriteAsync("Blocked");
                }
                else
                {
                    await _next(context);
                }
            }           
        }
    }
于 2019-07-17T15:15:34.833 回答
0

作为提供链接,传入的标头X-Forwarded-Host是由 Front Door 发送的。前门服务包括来自传入请求的标头,除非由于限制而被删除。Front Door 还添加了以下标题:

在此处输入图像描述

在此处阅读更多详细信息。

于 2019-07-16T09:55:53.587 回答