未雨绸缪 | 一文简介 Azure Front Door

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

导语

昨天早晨微软服务器发生了核爆,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 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/312953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

左手专注,右手时间

大家好,我是Z哥。今天带来的是一篇有感而发的随笔,敬请品尝~前两天最火的事情莫过于WPS上市了。这个平时默默无闻、低调的可怕的产品一下子被捧上了天。我第一次接触到WPS还比较晚,大约在2014年的样子,当时由于某些特殊…

说说开源那些事儿

“ 阅读本文大概需要 9 分钟。 ”前段时间我们遇到了一个情况,课程推送发出来之后有位同学在群里提到,机构提供的项目就是他同学导师的开源项目。之后这位导师在文章评论里联系了我,表示该机构课程涉嫌开源侵权他的 GitHub 开源项目。我们后台…

Linux下Tomcat安装和配置

1、前提(JDK环境)Tomcat的安装需要JDK环境,如何配置JDK环境见我的文章Linux下Java环境配置,所以在安装Tomcat之前需要先检测JDK环境是否配置好。 进入命令行界面,输入java -version命令来查看JDK环境是否配置成功&…

ASP.NET Core快速入门(第1章:介绍与引入)--学习笔记

点击蓝字关注我们课程链接:http://video.jessetalk.cn/course/explore良心课程,大家一起来学习哈!任务1:课程介绍1、介绍与引入2、配置管理3、依赖注入4、ASP.NET Core HTTP介绍5、认证与授权6、ASP.NET Core MVC任务2&#xff1a…

Eclipse下Tomcat服务器配置和使用

在安装完Tomcat之后,在没有进行相关配置时,我们需要到终端下面去启动Tomcat。如果我们在使用Eclipse进行Java开发时,如果能够直接启动Tomcat服务器那将是极为方便,本篇就来讲述Eclipse下Tomcat服务器如何配置以及如何使用。 1、配…

Facebook押注VS Code

Facebook 近日宣布默认采用 VS Code 作为内部开发环境。去年 Facebook 宣布停止维护其开源的 Nuclide/Atom-IDE,以及相关的一些库。Nuclide/Atom-IDE 是 Atom 编辑器的功能包,其通过语言服务器协议与自定义语言服务器交互,为 Atom 提供一系列…

Linux下软件安装和卸载

在Windows下,我们安装软件基本上是先到网上下载软件的安装包,通常是以.exe和.msi为后缀的文件,然后双击安装包,之后就可以按照软件安装向导一步步进行安装了,但在Linux下,软件的安装方式截然不同。总的来说…

为WPF, UWP 及 Xamarin实现一个简单的消息组件

友情提示:阅读本文大概需要8分钟。欢迎大家点击上方公众号链接关注我,了解新西兰码农生活本文目录:1. 介绍2. Message - 消息3. Subscription - 订阅4. MessageHub - 消息总线4.1 Subscribe - 订阅4.2 Unsubscribe - 取消订阅4.3 Publish - 发…

Mac(OS X)安装、配置并使用MySQL数据库

1、MySQL安装包下载 MySQL Community Server下载地址:http://dev.mysql.com/downloads/mysql/,下载完毕之后安装文件如下所示: 2、MySQL安装 双击安装文件进行安装,出现如下界面: 双击窗体中的“mysql-5.7.10-osx10.9-…

用ASP.NETCore构建可检测的高可用服务

一、前言2019 中国 .NET 开发者峰会(.NET Conf China 2019)于2019年11月10日完美谢幕,校宝在线作为星牌赞助给予了峰会大力支持,我和项斌等一行十位同事以讲师、志愿者的身份公司参与到峰会的支持工作中,我自己很荣幸能…

Mac(OS X)使用brew安装软件

在Linux下,常用的软件包管理工具有RedHat系的yum和Debian系的apk-get,对于Mac的OS X系统来说,同样有这样的形式的软件包管理工具,即:brew。 brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能…

SonarQube系列二、分析dotnet core/C#代码

来源:https://www.cnblogs.com/7tiny/p/11342902.html【前言】本系列主要讲述sonarqube的安装部署以及如何集成jenkins自动化分析.netcore项目。目录如下:SonarQube系列一、Linux安装与部署SonarQube系列二、分析dotnet core/C#代码SonarQube系列三、如何…

Eclipse使用Maven插件创建Web项目时出错:Could not resolve archetype org.apache.maven.archetypes

问题描述: 在Eclipse下,使用Maven插件创建Web项目时出错,错误提示如下: 错误信息: Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:1.0 from any of the configured repositories. …

ASP.NET Core快速入门(第2章:配置管理)--学习笔记

点击蓝字关注我们课程链接:http://video.jessetalk.cn/course/explore良心课程,大家一起来学习哈!任务9:配置介绍命令行配置Json文件配置从配置文件文本到c#对象实例的映射 - Options 与 Bind配置文件热更新框架设计:C…

怎么写技术简历?

作者:zollty,资深程序员和架构师,私底下是个爱折腾的技术极客,架构师社区合伙人!纯手打,个人多年经验总结。(本人的简历,历年来效果都不错,从校招到高端技术岗位、大厂技…

C# 代码中调用 Javascript 代码段以提高应用程序的配置灵活性(使用 Javascript .NET 与 Jint)...

一般来说,我们需要在开发应用软件的配置文件中,添加一些参数,用于后续用户根据实际情况,自行调整。配置参数,可以放在配置文件中、环境变量中、或数据库表中(如果使用了数据库的话)。通常,配置数据&#xf…

Code Runner for VS Code 突破 1000 万下载量!支持运行超过 40 种语言

记得三年多前,韩老师那时还在写 PHP(是的,没错!在微软写 PHP),同时需要写 Python 和 Node.js 。所以在那时,支持多种语言的 VS Code 已经是笔者的主力编辑器了。唯一不足的是,韩老师…

Firefox UI已迁移至Web Components

这不是一项一蹴而就的工程,Mozilla 开发者表示团队花费了大约两年的时间,采用“增量更新”的方式才逐渐将 Firefox UI 迁移至使用 Web Components 构建。Mozilla 开发者 Brian Grinstead 在博客宣布,经过多年的努力,他已在几个星期…

.Net线程同步技术解读

C#开发者(面试者)都会遇到lock(Monitor),Mutex,Semaphore,SemaphoreSlim这四个与锁相关的C#类型,本文期望以最简洁明了的方式阐述四种对象的区别。什么是线程安全教条式理解如果代码在多线程环境中运行的结果与单线程运行结果一样…

.NET使用VS2010开发Web Service

Web Service是一个面向服务的架构(SOA),不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。基于.NET平台,可以使用Visual Studio来开…