Nginx核心技术:封禁IP和IP段及密码认证

添加 Nginx 反向代理和 IP 白名单配置

bash 复制代码
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配置文件添加配置:

bash 复制代码
include conf.d/iplist;

执行重载命令:

bash 复制代码
nginx -t 
nginx -s reload

Nginx添加密码认证:

安装 htpasswd 工具:

bash 复制代码
#Debian/Ubuntu:
sudo apt update
sudo apt install apache2-utils
#CentOS/RHEL:
sudo yum install httpd-tools

创建密码文件:

bash 复制代码
sudo htpasswd -c /etc/nginx/.htpasswd admin

编辑配置文件在配置文件location 中添加如下配置:

bash 复制代码
server {
    listen 80;
    server_name yourdomain.com;

    location / {
        auth_basic "请输入密码";  # 提示用户输入密码时的显示内容
        auth_basic_user_file /etc/nginx/htpasswd;  # 指定密码文件路径

        proxy_pass http://your_backend_server;
    }
}

重载nginx服务:

bash 复制代码
nginx -t
nginx -s reload

删除用户:

bash 复制代码
vim /etc/nginx/.htpasswd
相关推荐
tap.AI29 分钟前
Deepseek(九)多语言客服自动化:跨境电商中的多币种、多语种投诉实时处理
运维·人工智能·自动化
ling-4535 分钟前
Linux-day09 11
linux·运维·服务器
202321336054 刘36 分钟前
Linux常用命令分类整理
linux·运维·数据库
oMcLin38 分钟前
如何在 Debian 11 上通过配置 LVM 和 RAID 结合,提升大规模存储系统的性能与冗余性
运维·debian
C_心欲无痕1 小时前
网络相关 - Ngrok内网穿透使用
运维·前端·网络
宇钶宇夕1 小时前
CoDeSys入门实战一起学习(四):应用程序运行、监控与调试
运维·自动化
zhyf1191 小时前
零刻AI Max395(Ubuntu 24.04)AMD 显卡监控工具(amdgpu_top)部署手册
linux·运维·ubuntu
报错小能手1 小时前
nginx集群聊天室(一) 初步讲解集群聊天室所需库的搭建
c++·nginx
谢平康1 小时前
ssh-copy-id 后还是一直需要密码登录的一个解决办法
运维·ssh
zhangdawei8381 小时前
英伟达GB200,GB300和普通服务器如dell R740xd有什么区别?
运维·服务器·人工智能