由于我使用的是启用了DNS代理的Cloudflare,我不希望用户发现/使用原始服务器IP地址并绕过Cloudflare安全和保护措施(此服务器上托管了多个不同域的网站(。
在做了一些研究之后,我能找到的唯一解决方案是将下面的代码添加到默认的站点配置中。
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name "";
return 444;
}
这种方法";作品";,然而,出现了一些问题:
- 网站仍然可以使用
https://
访问 - 这个方法似乎并没有真正禁用使用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