如何使用服务器IP地址完全禁用对nginx的访问



由于我使用的是启用了DNS代理的Cloudflare,我不希望用户发现/使用原始服务器IP地址并绕过Cloudflare安全和保护措施(此服务器上托管了多个不同域的网站(。

在做了一些研究之后,我能找到的唯一解决方案是将下面的代码添加到默认的站点配置中。

server {
listen      80 default_server;
listen      [::]:80 default_server;
server_name "";
return      444;
}

这种方法";作品";,然而,出现了一些问题:

  1. 网站仍然可以使用https://访问
  2. 这个方法似乎并没有真正禁用使用IP地址的nginx访问,它只是不返回任何内容

有没有更好的方法可以使用IP地址禁用nginx访问/有可能改进我目前的方法吗?

服务器操作系统Nginx版本
Ubuntu 20.04.2 LTS(GNU/Linux 5.4.0-72-generic x86_64(nginx/1.18.0

您可以在L4防火墙中为仅具有Cloudflare IP的源服务器配置https允许规则https://www.cloudflare.com/ips/

另一种方法是,您可以在原始服务器上运行Cloudflare隧道。您将不再需要发布您的原始IP。https://www.cloudflare.com/products/tunnel/https://developers.cloudflare.com/cloudflare-one/connections/connect-apps

相关内容

  • 没有找到相关文章

最新更新