我们正在开发一个在 azure 中运行的新网站。我们目前正在针对本地 azure dev 环境进行开发。但现在我们需要在真实的 Azure 世界中发布和测试该站点。但是我们想在一个“封闭”的环境中运行,只有知道用户可以访问,因为该站点还没有上线。有什么建议可以做到这一点吗?
/拉斯穆斯
我们正在开发一个在 azure 中运行的新网站。我们目前正在针对本地 azure dev 环境进行开发。但现在我们需要在真实的 Azure 世界中发布和测试该站点。但是我们想在一个“封闭”的环境中运行,只有知道用户可以访问,因为该站点还没有上线。有什么建议可以做到这一点吗?
/拉斯穆斯
您可以删除实例配置的端点,因此不会通过负载均衡器进行转发。之后,您可以使用远程桌面登录到您的 azure 实例并测试您的 Web 应用程序。
Windows Azure 有一种叫做“暂存模式”的东西,请参阅这篇文章:http ://sevans.info/2010/10/10/windows-azure-staging-model/
它非常强大,据我所知正是您所需要的。
上面的建议很棒,我还想在这个列表中再添加两个:
使用生产部署并具有禁用目录浏览的虚拟索引/默认页面(已设置为默认值)因此,当有人来到您的站点时,他们将看不到任何内容。并且由于没有目录浏览,所以他们无法猜测页面*.aspx 来访问您的站点。这将使您的生产站点保持运行,您可以从外部对其进行测试。
从负载均衡器中删除您的实例,同时保持您的实例健康。这将要求您通过 RDP 对您的实例测试 Azure 应用程序,然后在内部启动。如果你想这样做,这里是基于 Powershell 的技巧。
如果您有静态 IP 地址,您可以限制允许访问您的应用程序的 IP 地址。根据此链接:https ://azure.microsoft.com/en-us/blog/ip-and-domain-restrictions-for-windows-azure-web-sites/
开发人员可以使用 IP 和域限制来控制允许或拒绝访问其网站的 IP 地址集和地址范围。借助 Windows Azure 网站,开发人员可以使用其网站中的 web.config 文件启用/禁用该功能,并自定义其行为。
这是代码:
<system.webServer>
<security>
<ipSecurity allowUnlisted="false" denyAction="NotFound">
<add allowed="true" ipAddress="123.456.0.0" subnetMask="255.255.0.0"/>
</ipSecurity>
</security>
</system.webServer>