日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/4 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

無廣告,不賣課,做純粹的技術公眾號

總結

以上是生活随笔為你收集整理的Azure 上的网站如何识别不同国家和地区的用户的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。