Nginx安全措施:添加Http Basic认证及IP地址访问限制

本文介绍了如何使用Nginx的ngx_http_auth_basic_module模块进行Http Basic认证,以及通过ngx_http_access_module模块实现IP地址访问限制。详细探讨了不同类型的密码加密方式,并解释了如何设置IP地址白名单规则来增强服务器的安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 背景

项目中的Nginx需要对外暴露一个接口,该接口必须具有一定的安全措施:
  • 调用接口必须是认证用户才能调用
  • 需要限制调用方的IP地址

2 解决

利用Nginx本身提供的module来实现安全需求:默认情况下,这两个模块都已经编译进去了
  • ngx_http_auth_basic_module:Http Basic认证
  • ngx_http_access_module:IP地址限制
具体操作步骤如下:
# 1.生成账号和密码(非明文密码,密码应该包括字母大小写、数字和特殊字符)
# 注意:windows下不支持htpasswd方式!
printf "gsp:$(openssl passwd -crypt Test@888888)\n" >> htpasswd

# 2.对特定Location添加Http Basic认证
# 注意auth_basic_user_file的路径配置,如果找不到对应的文件,会报403
# 报403错误时,在error.log中可以定位问题
location /test {
    root   html/;
    
    # 添加Http Basic认证
    auth_basic           "Login Required";
    auth_basic_user_file /etc/nginx/co
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

甘蓝聊Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值