点击上方蓝字关注“汪宇杰博客”


导语

昨天早晨微软服务器发生了核爆,Office 365,Bing,Azure DevOps全线完蛋。人类文明危在旦夕之际,微软美国的死士凌晨2点爬起来收福报,修好了服务器,拯救了全人类!究其原因是一个叫 Front Door 的服务部署了新版本,代码有毒,自动化测试没有发现故障,直接上线了。那么这个 Front Door 是个咩呀?今天我研究并实践了一番。真正的软粉,就要和微软同呼吸共命运,要爆一起爆!

Azure Front Door

通常,我们把网站部署到 Azure App Service 或者别家云,甚至自己的数据中心后,用户访问网站的过程非常简单,直接从客户端连接到我们的服务器。这里面会有几个问题。

首先是访问速度,比如我的博客在 East Asia 地区,那么美国用户访问速度一定会比中国用户慢。这个好解决,对于静态资源,我早就使用了 Azure CDN 来改善全球范围内的速度。然而 CDN 并不能解决所有问题,有些资源访问还是需要直接到网站服务器的连接。这时候物理位置上靠近用户的部署会有明显优势。Azure Front Door 就可以自动判断当前离用户最近的部署,并将用户转到该部署。


其次是防爆问题,比如香港废青摧毁了 East Asia 数据中心,Azure Front Door 能够检测到其中一个部署爆掉了,在几十秒到数分钟之内,将中国用户的流量切换到正常运行的部署上,用户最多感觉网站变慢,但依然可用。


另外是安全问题,黑客或自动化脚本经常会扫描互联网上的网站,试图用SQL注入、XSS等手段攻击网站。那么 Azure Front Door 自带的 WAF 防火墙可以识别并阻止这些攻击,包括DDOS、请求频率等。或者由于法律法规,你可能想屏蔽某一国家或地区对你网站资源的访问,WAF 也可以配置地区限制。

如何使用

首先,在All services 里找到并创建一个 Front Door 服务


第一步 Frontend hosts 就是用户的入口,你需要创建一个 自定义名称.azurefd.net 的入口,随后可以添加自己的域名。这个入口的意思也就是最终你需要给用户使用的URL。比如你的网站原本是:https://996.icu 你给它配了个 https://996icu.azurefd.net 那么用户访问后者的效果和访问前者是一样的。等全部配置完成后,你可以把域名切到 996.icu,对用户访问来说不会有任何变化。


在绑定自己域名的时候,Azure 还会免费赠送一个SSL证书:


第二步 Backend pools 是后台有哪些服务器,你可以选择 Azure App Service 里既有的网站或者存储账户,也可以自定义到其他云或者自己的数据中心上,反正就是个URL而已,微软并不强制你要使用 Azure 一条龙。


由于我太穷,Azure上只买得起一个 instance,所以截图里我就配了一个后端服务器。各位在全球范围内有服务器的都可以加到这个列表里去,然后就能使用负载均衡功能了。


第三步是路由规则,可以根据自己需要来配置。


防火墙在 Web application firewall 菜单底下可以找到,你可以创建一个或多个策略,用于不同的入口。


其中,微软免费赠送了一些符合OWASP规范的防火墙规则,比如防SQL注入、XSS、PHP漏洞以及JAVA漏洞的攻击(咦,.NET去哪儿了?我们就当.NET没有安全漏洞吧……)


当然,你也可以加自己的规则,比如封掉某个地区的IP之类的。为了避免不必要的麻烦,这里我就不截图我封了哪个地方了……


WAF 还可以点点鼠标限制请求频率而不用自己写代码996:


落魄街头

用过 Azure 的朋友都知道一个字:贵。那么这个牛逼的 Front Door 使用以后,会不会导致我们落魄街头呢?

Azure 官网给出了价格计算表:https://azure.microsoft.com/en-us/pricing/details/frontdoor/

Front Door 本身主要流量计费


WAF 和 Front Door 分开计费


看起来并不会落魄街头!


想要了解 Azure Front Door 的更多操作,可以点击【阅读原文】,或访问微软官方文档:

https://docs.microsoft.com/en-us/azure/frontdoor/?WT.mc_id=AZ-MVP-5002809

未雨绸缪 | 一文简介 Azure Front Door相关推荐

  1. 【Microsoft Azure 的1024种玩法】二十四.通过Azure Front Door 的 Web 应用程序防火墙来对 OWASP TOP 10 威胁进行防御

    [简介] 我们都知道像 SQL 注入.跨站点脚本攻击(XSS)之类的恶意攻击以及 OWASP 发现的十大威胁都可能会导致服务中断或数据丢失,让 Web 应用程序所有者受到巨大威胁.那么如何有效的解决O ...

  2. 解决 Azure AD 在 Azure Front Door 下登录失败的问题

    点击上方关注"汪宇杰博客" ^_^ 导语 最近我给博客系统加上了 Azure Front Door,集齐了12项 Azure 服务打算召唤神龙.没想到刚上线,Azure AD 的单 ...

  3. 一文简介常见的机器学习算法

    原文 joydeep bhattacharjee 千平 编译整理 量子位 出品 | 公众号 QbitAI 所谓机器学习算法就是一个假设集合,用于找到最优模型.机器学习算法可以分为三大类. 监督学习:输 ...

  4. 一文简介 SDP 消息格式

    在 SIP 协议详解 中提到过一种Sip body消息体格式message/sdp,这一节来了解一下SDP消息格式. SDP(Session Description Protocol)是一种会话描述的 ...

  5. 一文简介 CPIM 消息格式

    在 SIP 协议详解 中提到过一种Sip body消息体格式Message/CPIM,这一节来了解一下CPIM消息格式. CPIM (Common Presence and Instant Messa ...

  6. Azure 上的网站如何识别不同国家和地区的用户

    点击上方蓝字关注"汪宇杰博客" 导语 跨国服务的网站通常需要针对不同国家和地区的用户显示不同的内容.通常我们会根据用户的IP地址识别Ta所在的国家和地区,而自己编写代码以及购买和维 ...

  7. 使用 Azure Web 应用防火墙拦截黑客攻击

    点击上方蓝字关注"汪宇杰博客" 导语 开发或运维过网站的朋友总免不了遇到不怀好意的访客.互联网上有许多全自动黑客工具及脚本,可以扫描你的网站是否有已知安全漏洞,并全自动发起攻击,企 ...

  8. azure机器学习_使用Azure ML Studio的Azure机器学习简介

    azure机器学习 介绍 (Introduction) Let us see how Azure ML studio can be used to create machine learning mo ...

  9. 【Microsoft Azure 的1024种玩法】五十四. 十分钟快速上手创建部署Azure speech服务

    [简介] Azure语音服务是Microsoft提供稳定可靠的云通信服务,其在单个 Azure 订阅中统合了语音转文本.文本转语音以及语音翻译功能,我们可以通过各种方式(语音 CLI.语音 SDK.S ...

最新文章

  1. adb logcat 抓取日志_手机抓取崩溃的log日志(安卓/ios)
  2. R语言包安装方法,及优质包推荐
  3. matlab som聚类算法,使用SOM对数据进行聚类
  4. macosx php环境,MacOSX环境下MAMP安装配置PHP的开发环境
  5. 《SharePoint Portal Server 2003 深入指南》开放了两个章节在线阅读
  6. 小结SpringMVC(一)
  7. 出售 Mac 时做好哪些准备?
  8. [UI列表]LoopScrollRect无限滑动不卡顿
  9. git difftool 使用 p4merge,DiffMerge 或者 Beyond Compare 4
  10. sublime linux中文版,sublime text 3中文免费版
  11. Linux系统查看设备温度,技巧分享 Linux下查看cpu温度
  12. TAP流量复制器在网络流量采集中的应用
  13. weblogic windows 打补丁_weblogic的版本及打补丁
  14. Fedora9的虚拟机安装
  15. hdu6069 Counting Divisors
  16. Launcher 记录自定义桌面
  17. Rosalind第88题:Counting Rooted Binary Trees
  18. mysql分组取最新
  19. matlab中P代码即P文件加密与逆向工程探讨
  20. 华为设备配置BGP AS号替换

热门文章

  1. SCM基础之过程描述
  2. php html 伪静态,php 伪静态(url重写)的写法
  3. 设置单元格填充方式_单元格的选择及设置单元格格式
  4. powershell实现设置程序相关性脚本
  5. Windows Server 2016-图形化迁移FSMO角色
  6. MinGW安装和使用基础教程
  7. LateUpdate、Late、FixedUpdate的意义
  8. MySQL使用详解--根据个人学习总结
  9. [旧博客]Python 第一次
  10. 如何使用GeneralUpdte构建客户端自动升级功能