让AI帮忙生成Nginx拦截ip访问的方法。看到拦截响应状态码444,好奇百度了一下。
简单来说这是Nginx特有状态码, 指示 Nginx 关闭连接而不向客户端发送响应。
废话不多说上配置:
创建配置
在路径
/etc/nginx/conf.d/default.conf
或/etc/nginx/sites-enabled/example.conf
创建
Nginx配置
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 444;
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
server_name _;
ssl_certificate /etc/nginx/ssl/dummy-cert.pem;
ssl_certificate_key /etc/nginx/ssl/dummy-key.pem;
return 444;
}
创建自签证书
生成过程中,OpenSSL 会提示填入一些字段信息(比如国家、公司名等),可以随便填。
sudo mkdir -p /etc/nginx/ssl
sudo openssl req -newkey rsa:2048 -nodes -keyout /etc/nginx/ssl/dummy-key.pem -x509 -days 365 -out /etc/nginx/ssl/dummy-cert.pem
最后更新配置测试看看
curl -k https://ip