![Nginx 配置使开放端口看起来像是关闭的](https://linux22.com/image/767307/Nginx%20%E9%85%8D%E7%BD%AE%E4%BD%BF%E5%BC%80%E6%94%BE%E7%AB%AF%E5%8F%A3%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%83%8F%E6%98%AF%E5%85%B3%E9%97%AD%E7%9A%84.png)
我的防火墙上打开了端口 443 和 80,并指向我的 Nginx 反向代理服务器。我已将 Nginx 设置为,如果有人使用我的 IP 地址访问端口 443 或 80,Nginx 将返回 444 错误。我希望以这种方式设置 Nginx,这样如果有人对我的 IP 地址进行端口扫描,他们甚至不会看到端口已打开。这可能吗?我当前的配置如下所示:
server {
listen 80;
listen 443 ssl;
ssl on;
ssl_certificate /path/to/crt;
ssl_certificate_key /path/to/crt/key;
server_name _;
return 444;
}
我想改变这一点,以便不返回任何内容,并且客户端只收到超时错误,而不传输任何 HTTP 标头。
答案1
“我的防火墙上打开了端口 443 和 80,并指向我的 Nginx 反向代理服务器。我已将 Nginx 设置为,如果有人访问端口 443 或 80”
所以你的防火墙是无用的:每个 80/443 请求都会“穿过”防火墙,就好像防火墙不存在一样。
您无法阻止任何人看到端口是打开的,除非您对防火墙进行编程以仅允许(例如)来自特定源 IP 的连接。
在这种情况下,你可以实施这样的规则:“仅当连接来自我的家庭 IP 时才允许它访问端口 443 和 80,否则阻止它们”