我们经常使用Azure App Service里的slot来创建staging等测试环境,但它们也都暴露在互联网上,只要知道URL的人就能访问。本文就来教大家如何做到只允许内部人员访问测试地址。
首先,我们当然可以更改网站代码来防止production以外的匿名访问,虽然这样很折腾,可以证明自己的技术牛逼,但是容易996进ICU。
而微软智能云Azure可以轻松做到点点鼠标就能完成这一切。只要你是用App Service部署的网站,任何框架、任何平台、任何语言,都不需要修改任何代码,就能在1分钟内配置身份认证,想996都难!我们来看看吧!
又双叒叕是我的博客
以我的博客网站为例。我的生产环境地址是 https://edi.wang
Slot里建了一个staging环境:
https://ediwang-web-staging.azurewebsites.net
我只想让我 AzureAD 域中的用户访问 staging 环境,而保持 production 的匿名访问。
启用 Azure AD 认证
首先,在 Deployment slots 里找到并展开 staging 环境网站
点击 Authentication / Authorization
将 App Service Authentication 改成 On
在下拉框里选择 Log in with Azure Active Directory
然后点击 Azure Active Directory
在 Management mode 里选择 Express,Create New AD App,并输入一个没有被注册过的名字。最后保存所有设置即可。
这个自动创建的App会被注册在你的 Azure AD 里面,可以在 Application Registration / All applications 下面找到。
现在,试试用未登录的浏览器session访问staging环境,会自动跳转到Azure AD的登录页面,只有AD里的用户才能访问,用了微软智能云Azure,一切就是这么简单轻松搞定!