天天看点

Azure Front door + HTTPS + VM背景介绍Demo

背景介绍

最近一个客户需要在Azure上面配置服务,同时要求能够实现rate limit的功能。 看了一圈,发现只有Azure的Frontdoor的WAF上可以有这个功能。 豆子习惯了AWS的各种服务,使用Azure的时候,总喜欢横向对比一下。 简单的说, Azure 里面有好几个和负载平衡相关的服务,我的理解是

Azure frontdoor = AWS global accelerator + cloudfront CDN

Azure application gateway = AWS ALB

Azure load balancer = AWS NLB

Azure traffic manager = AWS route53 traffic management。

frontdoor和 application gateway在负载平衡这一块基本一样,但是前者是global级别的,后者只是region内部;而且WAF的功能上只有frontdoor支持rate limit。

Demo

下面做了个简单的demo,看看如何实现的。

安装VM

首先搭建一个最简单的VM,安装一个nginx,nsg放行,这样我们可以看见一个http的界面

Azure Front door + HTTPS + VM背景介绍Demo

安装配置DNS Zone

然后下一步我需要配置我的Azure的DNS。如果托管个Azure自己管理DNS,我后面对frontdoor的自定义domain的配置会容易很多。我有个测试的域名放在goDaddy上,我需要在Azure上创建一个新的 DNS zone,然后在godaddy上替换掉对应的NS记录,这样就可以直接在Azure 的DNS上来管理记录了

Azure上新建的DNS Zone

Azure Front door + HTTPS + VM背景介绍Demo

Godaddy上替换掉NS

Azure Front door + HTTPS + VM背景介绍Demo

这样子,我的域名可以直接通过Azure DNS来管理了

安装配置 Frontdoor

最后我们来配置一个新的frontdoor profile, 点开向导,选择quick create,根据提示就可以创建一个了

Azure Front door + HTTPS + VM背景介绍Demo

因为我的backend的VM使用的是http,所以创建路由的时候,forwarding protocol需要选http

Azure Front door + HTTPS + VM背景介绍Demo

测试一下我的frontdoor endpoint的URL是否工作

http://web-c9ctehevatghgdf4.z01.azurefd.net

https://web-c9ctehevatghgdf4.z01.azurefd.net

但是这个自动生成的域名很不合适,所以我们需要给它创建个别名,同时给别名配置证书

Azure Front door + HTTPS + VM背景介绍Demo

创建好了以后就这样

Azure Front door + HTTPS + VM背景介绍Demo

测试是否成功

http://webserver.beanxyz.com

https://webserver.beanxyz.com

WAF 限制IP

可以访问之后,最后我们来看看如何在WAF里面限制IP的访问

在Frontdoor的WAF里面点击 custom rules

Azure Front door + HTTPS + VM背景介绍Demo

添加一条自定义的rule

Azure Front door + HTTPS + VM背景介绍Demo

关联到我们所有的domain上

继续阅读