Nginx 配置使开放端口看起来像是关闭的

Nginx 配置使开放端口看起来像是关闭的

我的防火墙上打开了端口 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,否则阻止它们”

相关内容