配置 IIS 以便仅为来自美国的请求提供某些文件?

配置 IIS 以便仅为来自美国的请求提供某些文件?

将加密数据或加密系统从美国传输到外国是一件棘手的事情,因为加密可以归类为弹药,并受美国出口法的管辖。

我计划创建一个网站,其中包含用 Javascript 编写的多种加密算法。我不希望将这些 js 文件分发给任何拥有美国境外 IP 的人,因为我觉得我可能会违反出口法(服务器至少在开始时将位于美国)。我知道有很多方法可以伪造 IP 来解决这个问题,但我觉得这是我可以实际实施的最佳限制,并且可以证明不将数据传输出国(尽职调查)。

由于各种原因,我不想对服务器端的任何内容进行加密。这是不可能的。

我可以编写一些服务器端代码来对 IP 地址进行地理编码,并返回或不返回 JS,但我认为我可以在 IIS 中设置一些配置设置。如果某些东西已经存在,我不想重写轮子。

是否可以将 IIS 配置为根据 IP 地址和地理编码限制对某些文件的访问?我是不是太偏执了?

答案1

您可以使用 IIS 的“IP 地址和域限制”,但您的 IP 范围列表(无论是美国境外的拒绝列表还是美国境内的允许列表)将相当大,并且必须扫描每个请求。如果您不期望流量很高,那么这可能不是问题。

IIS 中没有现成的 geoip 功能,您必须从应用程序中的 HttpModule 访问某些地理位置服务,并且可能会在一段时间内缓存对相同 IP 或 IP 范围的查找。

为什么不将这些 js 文件托管在非美国地区的 Azure 存储或 AWS S3 上?您不会从美国“导出”任何东西,而只是从其他地方引用它们?

相关内容