我试图了解默认情况下 Azure 云服务(Web/Worker 角色)的防火墙规则是什么,但我很困惑。
基于多个来源,包括此链接 http://download.microsoft.com/download/C/A/3/CA3FC5C0-ECE0-4F87-BF4B-D74064A00846/AzureNetworkSecurity_v3_Feb2015.pdf ,默认情况下会阻止云服务的入站连接,无论是辅助角色还是 Web 角色。要打开入站连接,我需要为 .cscfg 中的 EndPoints
元素指定参数。
但是,我从未这样做过,但我的 Web 角色和辅助角色接受入站连接,甚至是到辅助角色的 UDP 连接。
我错过了什么?
更新:抱歉,我查看了错误的文件。由于我无法解释的原因,我混合了 .csdef 和 .cscfg。现在看来这个问题很愚蠢:)
最佳答案
您是对的 - Web 和辅助角色需要定义端点,以允许外部流量传递到您的角色实例。
关于您当前可以访问现有 Web/worker 实例的事实:默认情况下,会为您的 Web 角色创建端口 80 的端点,如果您启用了 RDP,也会启用该端点。
请注意,会发生端口映射:也就是说,您指定外部端口(可能...端口 8000),然后该端口映射到代码正在监听的实际端口(可能...端口 80 )。
还要注意,如果您将这些端口之一用于一个角色,则必须为不同的角色提供不同的端口。给定角色的所有实例可以以负载平衡的方式使用相同的端口。但是...如果您在 Web 角色上使用外部端口 8000 设置 Web 服务器,并且定义另一个 Web 角色(或者可能是辅助角色),则您不能为该角色使用端口 8000。
角色端点在 Visual Studio 内的云服务项目中公开,以防您不想直接编辑配置文件。
关于azure - 了解 Azure 云服务防火墙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36854421/