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

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

导语

跨国服务的网站通常需要针对不同国家和地区的用户显示不同的内容。通常我们会根据用户的IP地址识别Ta所在的国家和地区,而自己编写代码以及购买和维护IP数据库,或使用三方的IP数据服务,是潜在的996成本。虽然完整的IP数据库可以识别所有国家和地区,但很多时候,网站想要的只是区分个别几个国家和地区,如何不996快速实现这个需求呢?

又见 Azure Front Door

任何能用钱解决的问题,都不是问题。而马云说过,钱是这个世界上最容易得到的东西,因此这个问题很好解决。我们请出特别贵的老朋友 Azure Front Door !关于 AFD 的入门介绍,可以先看我之前的文章:

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

  • 使用 Azure Front Door 配置网站URL重定向

  • 如何防止用户访问Azure Front Door后台的App Service域名

这次我们将以识别中国用户为例,演示如何在 Azure Front Door 上只点点鼠标,不写代码,不购买三方IP数据服务解决这个问题。

配置自定义路由引擎

在 Front Door 管理面板进入 Rules engine configuration 菜单,点击 Add

指定一个 Rules engine name,如 Moonglade1055,代表用了Azure的我10点上班,5点下班,工作5天。这个规则引擎下可以添加多条自定义规则。

点击 Add rule,增加一条规则,例如 MarkChinaRequests。我们要根据用户的IP地址匹配Ta的国家和地区。

点击 Add a condition,选择 Remote address,Operator 中选择 Geo Match,然后搜索并勾选 China,同时别忘了勾选 Hong Kong 和 Taiwan,他们是祖国不可分割的一部分!

点击 Add an action,选择 Request headerAppend,给网站的请求增加一个自定义的header,名为 geo-match,值为 china。

完成后点击 Save

这时我们能在 Rule engines 的列表里看到刚才添加的规则引擎,在它的菜单里选择 Associate routing rule

勾选网站流量必经的路由,符合这些路由规则的请求就会被带上geo-match的header。

保存后稍等几分钟,AFD的自定义路由引擎就会生效。

在网站中识别用户地区

以 ASP.NET Core 网站为例,我们现在只要读取geo-match这个http header,即可得到AFD加上的地区值。

Request.Headers["geo-match"]

于是,网站就能根据用户的地区显示不同的内容了。而我们的网站代码里,丝毫没有读取用户IP,查询IP数据库的代码,非常干净。当然,有了header以后也最好别写一堆 if else 来搞。可以创建个middleware读取geo-match做成可拓展可配置的模块,那将是无比nice。

总结

贵的东西除了贵,没有别的缺点。

汪宇杰博客

Azure | .NET | 微软 MVP

无广告,不卖课,做纯粹的技术公众号

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

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

相关文章

中小学不得在校内设置食品经营场所,量子摩尔定律问世,美团运营摩拜亏45亿,英伟达史上最大手笔收购,这就是今天的大新闻。...

今天是3月12日农历二月初六今天星期二去吃饭老板问要饭的吗一兄弟说我要饭的我要饭怎么觉得这对话有点怪怪下面是今天的大新闻中小学不得在校内设置食品经营场所(中国新闻网)据教育部网站消息,由教育部、国家市场监督管理总局、国家卫生健康委…

轮廓处理函数详细

ApproxChains用多边形曲线逼近 Freeman 链 CvSeq* cvApproxChains( CvSeq* src_seq, CvMemStorage* storage, int methodCV_CHAIN_APPROX_SIMPLE, double parameter0, int minimal_perimeter0, int recursive0 ); src_seq涉及其它链的链指针storage存储多边形线段位置的缓存m…

html5与课程思政,“课程思政”怎样做

[本站讯 ]为了提升学校教师的课程思政意识和课程思政建设水平,提高课程思政优秀案例征集水平,5月21日,教学促进与教师发展中心举办了课程思政专题线上分享会.中心主任张树永出席会议,120位教师通过雨课堂参加了直播活动.“课程思政”怎样做?教学案例设计…

Windows 11 快速体验:开始菜单居中,全系圆角设计!

系统类型:Windows 11 专业工作站版 系统版本:Dev系统版本号:OS Build 21996.1任务栏 Windows 11 任务栏上的“开始”菜单和应用程序图标由此前 Windows 操作系统中的“左对齐”样式变为“居中”。如果你不喜欢“居中”可以通过个性化设置更改…

数学建模,还得这样学!

最近天气逐渐晴朗回温(伊芙布德干内库毛德川状态暂时告一阶段),数学建模的热度也在逐步回温(据说大家开始了数学建模知识储备),常有小伙伴私聊小天咨询关于数学建模的事情。春节假期也已经过去,…

测试Live Writer 发表博客

2019独角兽企业重金招聘Python工程师标准>>> 测试成功!!! 转载于:https://my.oschina.net/bonelwh/blog/125845

WPF 菜单栏滚动到顶部后固定的两种方法

最近项目中有这么个需求:菜单栏滚动到顶部后固定在顶部,专业的名词叫吸顶。。这在移动端还是比较常见的。看看效果:下面直接看看代码喽,代码不多:第一种方法思路:写一个和菜单一模一样的菜单,放…

eeprom 数据偶尔变成ff_关于水电站冗余配置下监控系统下发调节令偶尔不动作的案例分析...

点击上方“E小水电”,“星标或置顶公众号”关键时刻,第一时间送达摘要:吉勒布拉克水电站冗余配置下机组PLC组网运行,后台监控系统下发调节令,调节不动作或偶尔动作现象分析。引言吉勒布拉克机组自动化控制为冗余主备双…

美国明确警告德国,3G退网5G手机不需要换号,抽烟酗酒学生不能认定为家庭经济困难,大学食堂凭运动步数打折,这就是今天的大新闻。...

今天是3月13日农历二月初七今天星期三一切都风平浪静下面是今天的大新闻美国明确警告德国放弃华为(环球新闻)7日,德国经济部长彼得•阿尔特迈尔(PeterAltmaier)明确表态,德国不想将华为排除在本国5G建设外。随后,这位部…

【bayes】贝叶斯likelihood和model

1)Likelihood 最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。 简单而言,假设我们要统计全国人口的身高,首先假设这个身高服从服从正态分布,但是该分布的均…

abb限位开关已打开drv1_广告雕刻机限位开关触发

广告雕刻机限位开关触发?广告雕刻机是指专门用于广告行业的设备,是专门为广告而研发的设备。广告雕刻机当然也可以用于其他行业,例如工艺品行业、家具行业、模型行业等。今天我们重点说下“广告雕刻机限位开关触发”。市面上常见的PVC字广告雕…

有趣的灵魂,从高质量的阅读开始

王小波说:我活在世上,无非想要明白些道理,遇见些有趣的事,倘能如我所愿,我的一生就算成功。如果不能行万里路,那就从阅读一篇文章开始。不积跬步,无以至千里。不积小流,无以成江海。…

面向.NET开发人员的Dapr——俯瞰Dapr

目录:面向.NET开发人员的Dapr——前言面向.NET开发人员的Dapr——分布式世界Dapr at 20,000 feet俯瞰DaprIn chapter 1, we discussed the appeal of distributed microservice applications. But, we also pointed out that they dramatically increase architectu…

k8s创建pod加入容器_K8S架构原理及其工作流程

K8S容器编排系统容器编排系统需要满足的条件:服务注册,服务发现负载均衡配置、存储管理健康检查自动扩缩容零宕机K8S整体架构图K8S整体架构Kubernetes采用主从分布式架构,包括Master(主节点)、Worker(从节点或工作节点),以及客户端…

每日一笑 | 程序员的招租公告

全世界只有3.14 % 的人关注了数据与算法之美(图片来源于网络,侵权删)

无需羡慕,今后.NET开发想拿30k也可以毫不费劲!

7月将至,半年已逝,码农枯燥而简单的生活中,时间过得飞快!错过金三银四的小伙伴,转头发现金九银十不远了。业内公认的,涨薪最快的方式还是跳槽!年初跳槽季,腾讯、阿里、百度、京东、小…

移动计算机怎么开机密码,win7忘记开机密码解决办法

设置电脑开机密码后我们每次开启电脑都需要输入开机密码才可以进入系统桌面进行使用,如果没有密码的话系统是无法开启的,这就保证了我们电脑使用的隐私性,但是并不是说所有的电脑都适合设置密码,部分场景下的电脑设置密码的话有可…

双缓冲技术

2019独角兽企业重金招聘Python工程师标准>>> package com.gavin; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.Canvas; import android.graphics.Paint; import andro…

java 8 排序_一遍记住 8 种排序算法与 Java 代码实现

☞ 程序员进阶必备资源免费送「21种技术方向!」 ☜作者:KaelQ,www.jianshu.com/p/5e171281a3871.直接插入排序经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中。将第一个数和第二个数排序,然后构成一个有…

中小学将逐步推广编程教育;勒索病毒攻击部分政府部门和医院;国内外药企密集调价;微软要给Win7用户推死亡通知,这就是今天的大新闻...

今天是3月14日农历二月初八今天星期四看天气预报接下来几天又是雨季大家记得出门带伞下面是今天的大新闻中小学要逐步推广编程教育(北京日报)13日教育部公布的《2019年教育信息化和网络安全工作要点》透露,今年将启动中小学生信息素养测评&am…