不允许 IP 地址为“XXX.XXX.XXX.XX”的 Windows Azure 客户端访问服务器
Posted
技术标签:
【中文标题】不允许 IP 地址为“XXX.XXX.XXX.XX”的 Windows Azure 客户端访问服务器【英文标题】:Windows Azure Client with IP address 'XXX.XXX.XXX.XX' is not allowed to access the server 【发布时间】:2012-01-22 12:57:18 【问题描述】:我在 Windows Azure 中设置了服务器、数据库和防火墙设置(规则)。我已在 Windows Azure 防火墙选项卡下添加了防火墙中的 IP 设置。
当我尝试使用 Azure 平台中的管理连接数据库时,我收到此错误消息。
防火墙检查失败。无法打开登录请求的服务器“XXXXXXXXX”。不允许 IP 地址为“XXXXXXXXX”的客户端访问服务器。要启用访问,请使用 SQL Azure 门户或在主数据库上运行 sp_set_firewall_rule 来为此 IP 地址或地址范围创建防火墙规则。此更改最多可能需要五分钟才能生效。
而且我也无法通过 Sql Server Management Studio 进行连接。我的 IP 地址出现相同的连接问题错误。
我没有使用静态 IP,但在此过程中我的 IP 没有更改。我已经尝试了很多示例,但都说要添加我已经完成的防火墙规则。
我为端口号 1433 添加了防火墙例外。
但这仍然不起作用请告诉我仍然缺少什么类型的设置。
提前致谢。
【问题讨论】:
见blogs.msdn.microsoft.com/azuresqldbsupport/2015/04/29/… 以上博客链接对我有用,非常感谢@Michael Freidgeim... 【参考方案1】:如果您想从 Azure 门户管理 SQL Azure,您必须选中“允许其他 Windows Azure 服务连接到此服务器”。稍后部署到 Azure 的 Web/Worker 角色也需要这样做:
如果您想从您的家庭/工作 PC 进行连接,您必须使用您的公共 IP 地址使防火墙保持最新!您的公共 IP 地址在小弹出窗口中,当您要添加新的防火墙规则时会弹出:
【讨论】:
WTF?!谁刚刚对此投了反对票?乘坐时光机,在 2011 年 12 月返回,然后再投反对票! 只是关于这个问题的更新。我们更改了办公室的 ISP,因此我们的 IP 地址也更改了,我们无法连接到我们的数据库。您必须从 Visual Studios 中的工具登录到您的 azure 帐户。在 sql explorer 中打开你的数据库,你应该可以更新你的 ip 规则了。【参考方案2】:如果您发现必须定期执行此操作,我建议您安装 Windows Azure Powershell Cmdlets。一旦你安装了这些,我就在 GitHub 上创建了一个开源项目,它提供了许多常见任务的脚本。
更改防火墙规则恰好是其中一项常见任务,可在此处找到源代码:Windows Azure Powershell Extensions
要安装这些扩展程序,您可以按照我的博文SQL Azure Powershell for Developers on the Run!中的说明进行操作
在未来的更新中,我将提供额外的功能来提供 publishsettings 文件,而不是需要为您的 Windows Azure 帐户创建 SubscriptionId 和 Thumbprint 的 CSV 文件。
【讨论】:
你好 SyntaxC4,在 github 上找不到项目。你在别的地方有吗?谢谢! 我的项目中的所有功能都被吸收到了 Windows Azure Powershell 工具中。下载最新版Windows Azure PowerShell Cmdlets【参考方案3】:使用新版本的 Windows azure 只需转到防火墙设置并单击添加客户端 IP 即可。见下图
【讨论】:
这是一个很好的答案,除了我的面包屑路径显示 SQL 数据库 > 工具 > 在 Visual Studio 中打开 > 防火墙设置 here 是链接【参考方案4】:登录到 Azure 门户
选择您的数据库订阅
点击工具
现在有“在 VisualStudio 中打开”选项(点击它)
点击即可看到“配置防火墙”。
添加新 IP。
完成:)
【讨论】:
【参考方案5】:这只是 Saurin Vala 所说的视觉效果。在 Azure 中无论出于何种原因,您都必须先单击在 Visual Studio 中打开。
【讨论】:
无论出于何种原因,在 Visual Studio 中添加是唯一对我有用的方法【参考方案6】:这是我为解决此问题所做的。通过转到防火墙设置 数据库->概览->防火墙设置
【讨论】:
【参考方案7】:随着 Azure 不断变化,进入防火墙的方式也在不断变化。
单击您的 SQL 服务器(不是数据库,而是服务器)-> 单击防火墙-> 添加您要允许的 IP 范围。
别忘了点击保存!
【讨论】:
这应该是正确的答案,因为不是每个人都安装了 Windows 或应用程序 有没有办法解除IP限制?我的员工没有静态 IP,无论如何我都需要他们能够连接到服务器。 @Shimmy 您可以添加多个规则,我还建议 ISP 仍然只有一个 IP 地址范围,请您的员工找出他的(大型 ISP 发布他们的范围,较小的可能需要电话)。您总是可以将范围设置为 0.0.0.0 到 255.255.255.255,但这真的违背了防火墙的目的,对吧? :) 更好的主意,雇主可以支付静态 IP 的费用,在我所在的地区每月大约 5 美元。【参考方案8】:对我来说是
Azure 门户 (ARM)
选择左侧的 SQL 数据库子文件夹或在更多部分中找到以添加。
选择您的 SQL 数据库
点击防火墙
在规则名称和 IP 中
【讨论】:
【参考方案9】:您可能已经知道,Microsoft 在 Azure 门户中改变了所有地方,这很好,因为它表明他们关心 UX/UI,但是,在我们需要的时候做事情对我们来说有点烦人。
因此,目前,要编辑特定 SQL 数据库实例的防火墙规则,请按照以下步骤操作。
主页 > [您的 SQL 数据库] > 概述 > 设置服务器防火墙
或
主页 > 所有资源 > [搜索您的 SQL 数据库] > [您的 SQL 数据库] > 概述 > 设置服务器防火墙
下图显示了 UI 流程。
【讨论】:
【参考方案10】:奇怪的皱纹:我使用我的 Azure 管理员登录为每个用户设置了防火墙规则,并使用他们的 WhatIsMyIP 地址。有些工作,有些没有。结果发现,当 SSMS 提供为他们更新规则时,一些用户在 SSMS 中看到了不同的 IP 地址。该地址一直有效。我无法解释为什么会有不同的 IP 地址。我只知道我终于让问题用户 [所有非技术人员] 安装 SSMS 并使用它给我正确的地址。
【讨论】:
【参考方案11】:单击您的数据库资源。点击设置服务器防火墙,进入防火墙设置。 添加新规则和所有设置:)
【讨论】:
以上是关于不允许 IP 地址为“XXX.XXX.XXX.XX”的 Windows Azure 客户端访问服务器的主要内容,如果未能解决你的问题,请参考以下文章
nacos 日志问题 ERR-CODE: [NACOS-0002], Type: [环境问题]
blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'