【发布时间】:2021-08-29 21:11:30
【问题描述】:
我在网上的任何地方都找不到这方面的资源,我看到的只是 nginx 的参考资料。
我需要快速帮助,因为我的服务器是实时的,用户访问它并且谷歌以某种方式索引了我的 IP 地址并且用户正在通过我的 IP 访问我的网站。
我计划今晚迁移服务器,并且知道为什么我的 ip 被编入索引,但同时需要一种方法来防止通过我的 ip 直接访问。
这显然是行不通的,也没有太多的测试空间,除非我停止服务器并长时间关闭所有用户:
app.get('myiphere', function(req, res){
res.redirect('domain.com');
});
【问题讨论】:
-
您到底关心什么。与您的服务器的所有连接都是通过您的 IP 地址进行的。 TCP 连接仅适用于 IP 地址。如果一个人只有一个域,那么您使用 DNS 获取与该域对应的 IP 地址,然后连接到该 IP 地址。这就是 TCP 的工作原理(这是 HTTP 的传输方式)。
-
@jfriend00 我了解 IP 与 DNS 和互联网的关系。但据我了解,将您的 IP 暴露在互联网上并不好?这不会使您容易受到某些类型的攻击吗?如果有人可以访问我的服务器 IP,他们可以直接绕过 cloudflare ddos 保护和 DDoS 我的服务器,他们不能吗?
-
您在 DNS 中的 IP 地址应该已经通过了所有 cloudfare 保护和基础设施。每个人都必须通过该 IP 地址访问您的服务器。如果人们通过其他 IP 地址而不是 DNS 中的 IP 地址(一些不应该公开访问的 IP)直接访问您的服务器,那么您需要使用适当的防火墙规则或其他方式来修复它。
-
仅供参考,典型的托管基础设施将有您的服务器的实际 IP 地址无法访问互联网。相反,您的主机名的 DNS 条目将有一个 IP 地址,该地址指向托管基础设施中的某种代理,该代理将实施各种安全功能,然后将请求路由到您的服务器在其网络上的实际私有 IP 地址。如果您使用的不是没有其他租户的专用服务器,那么可能还会分配自定义端口供您使用,以便共享服务器的私有 IP 地址。
-
在这种类型的托管基础设施中,无法直接从 Internet 访问您的服务器,并且您的服务器具有私有 IP 地址。从 Internet 访问您的服务器的唯一方法是通过托管服务提供商基础架构中的其他服务器(通常是代理),并且该服务器具有公共 IP 地址。
标签: node.js express redirect ip