最后更新于

Nginx设置https证书为空


Nginx设置不可IP直接访问,不管是80端口还是443端口,在设置HTTPS时就会遇到证书问题,那么问题的关键是如何设置HTTPS证书为空。

🔒 Nginx设置HTTPS证书为空

当需要禁止IP直接访问时,可以通过以下配置实现:

server {
         listen         80 default_server;
         listen         [::]:80 default_server;
         listen 443 ssl default_server;
         listen [::]:443 ssl default_server;
 
         server_name _;
 
         set $empty "";
         ssl_ciphers aNULL;
         ssl_certificate data:$empty;
         ssl_certificate_key data:$empty;
 
         return 444;
 }

📝 配置说明

  • default_server:设置为默认服务器,处理所有未匹配的请求
  • server_name _:匹配所有未定义的域名
  • ssl_ciphers aNULL:设置SSL加密套件为空
  • ssl_certificate data:$empty:设置空的SSL证书
  • ssl_certificate_key data:$empty:设置空的SSL私钥
  • return 444:返回444状态码(Nginx特有,直接关闭连接)

这样配置后,任何通过IP直接访问的请求都会被拒绝,有效防止恶意扫描和未授权访问。