0

我一直在阅读有关阻止 IP 地址对我发布的服务发起攻击的信息,在这种情况下是 Worker Role。我添加了一个 NetworkConfiguration 来帮助实现这个目标,它似乎工作得很好。

现在我的问题是,如何从正在运行的程序中将节点添加到该文件中?

我计划保留日志,当一个 IP 发送了许多错误请求时,我希望我的程序更新黑名单 IP 地址列表。如果我的端口受到蛮力攻击或 dns 攻击,我希望可以将实时黑名单列入黑名单时,我手动编辑此列表是不合理的。

  1. 如何在代码中加载配置文件以使用 XDocument 编辑该节点中的值?
  2. 这些更改会传播到自动运行的其他实例吗?
  3. 有没有其他方法可以实现这个目标?
4

2 回答 2

2

我相信你可以。可以通过服务管理 API 更新对 ServiceConfig(不是服务定义)的更改。

API 定义在这里:https ://msdn.microsoft.com/en-us/library/azure/ee460809.aspx

如果您在 .NET 中,您可能希望使用其中一个 Nuget 包来帮助解决此问题:https ://www.nuget.org/packages/Microsoft.WindowsAzure.Management.Compute/

于 2015-09-25T14:03:56.827 回答
2

如何在代码中加载配置文件以使用 XDocument 编辑该节点中的值?

为此,您需要获取云服务属性并从返回的 XML 中提取配置设置。您需要通过调用Get Cloud Service Properties服务管理 API 操作来执行此操作(如果您正在使用,请查找适当的方法Azure Management Library)。如果您正在使用 REST API,请记住以 Bas64 编码返回的配置文件,因此您需要将其转换为字符串,然后才能加载 XML。

这些更改会传播到自动运行的其他实例吗?

进行更改后,您需要执行Change Deployment Configuration操作以应用更改。应用这些更改后,它们将自动应用于所有实例。

有没有其他方法可以实现这个目标?

AFAIK,这是以编程方式完成此任务的唯一方法。

于 2015-09-25T14:04:23.647 回答