Nginx核心技术:封禁IP和IP段及密码认证
添加 Nginx 反向代理和 IP 白名单配置:
server {
listen 80;
server_name your_elasticsearch_domain_or_ip;
location / {
proxy_pass http://localhost:9200; # Elasticsearch 运行在本地的端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# IP 白名单
allow 192.168.1.100; # 允许的 IP 地址
allow 192.168.1.101; # 另一个允许的 IP 地址
deny all; # 拒绝其他所有 IP 地址
}
}
如果ip地址多的情况下,将ip地址打包在一个文件当中iplist,上传至/etc/nginx目录下,编辑nginx配置文件添加配置:
include conf.d/iplist;
执行重载命令:
nginx -t
nginx -s reload
Nginx添加密码认证:
安装 htpasswd
工具:
#Debian/Ubuntu:
sudo apt update
sudo apt install apache2-utils
#CentOS/RHEL:
sudo yum install httpd-tools
创建密码文件:
sudo htpasswd -c /etc/nginx/.htpasswd admin
编辑配置文件在配置文件location
中添加如下配置:
server {
listen 80;
server_name yourdomain.com;
location / {
auth_basic "请输入密码"; # 提示用户输入密码时的显示内容
auth_basic_user_file /etc/nginx/htpasswd; # 指定密码文件路径
proxy_pass http://your_backend_server;
}
}
重载nginx服务:
nginx -t
nginx -s reload
删除用户:
vim /etc/nginx/.htpasswd
原文地址:https://blog.csdn.net/m0_66011019/article/details/142860582
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!