nginx访问控制的两种方法

发布时间 - 2026-01-10 23:24:37    点击率:

环境

     系统环境:CentOS6.7

     nginx version: nginx/1.8.1

一、基于Basic Auth认证

Nginx提供HTTP的Basic Auth功能,配置了Basic Auth之后,需要输入正确的用户名和密码之后才能正确的访问网站。

我们使用htpasswd来生成密码信息,首先要安装httpd-tools,在httpd-tools中包含了htpasswd命令。

yum install -y httpd-tools

接下来我们就可以创建用户和密码了,例如创建一个loya的用户,执行命令:

htpasswd -c /opt/nginx/.htpasswd loya

按照提示输入两次密码之后就创建成功了,然后再修改Nginx的配置,编辑/opt/nginx/conf/vhosts/www.conf,在配置后面添加两行配置:

server {
  ....
  auth_basic "Restricted";
  auth_basic_user_file /opt/nginx/.htpasswd;
}

reload nginx后生效

/opt/nginx/sbin/nginx -s reload

二、基于IP的访问控制

通过IP进行访问控制基于nginx模块ngx_http_access_module,

1.模块安装

nginx中内置ngx_http_access_module,除非编译安装时指定了–without-http_access_module,当然一般没人这么干吧。

2.指令

allow

语法: allow address | CIDR | unix: | all;

默认值: -

配置段: http, server, location, limit_except

允许某个ip或者一个ip段访问。如果指定unix:,那将允许socket的访问,unix在1.5.1才新加入。

deny

语法: deny address | CIDR | unix: | all;

默认值: -

配置段: http, server, location, limit_except

禁止某个ip或者一个ip段访问.如果指定unix:,那将禁止socket的访问,unix在1.5.1才新加入。

3.示例

location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
}

从上到下的顺序,类似iptables。匹配到了便跳出。如上的例子先禁止了192.16.1.1,接下来允许了3个网段,其中包含了一个ipv6,最后未匹配的IP全部禁止访问.

被deny的将返回403状态码。

总结

以上就是关于nginx访问控制的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。谢谢大家对的支持。


# nginx实现访问控制  # nginx  # 访问权限控制  # nginx设置访问控制  # nginx 访问限制与访问控制的实现  # Nginx访问控制与参数调优的方法  # 一文详解Nginx的访问限制与访问控制  # nginx 流量控制以及访问控制的实现  # Nginx IP限制与路径访问控制配置  # Nginx访问控制的原理及实现  # nginx访问控制的实现示例  # Nginx请求访问控制实现方案  # Nginx 访问控制的多种方法  # 访问控制  # 默认值  # 包含了  # 没人  # 两次  # 然后再  # 谢谢大家  # 创建一个  # 两行  # 就可以  # 从上到下  # 干吧  # 按照提示  # 有疑问  # install  # yum  # bash  # color  # vhosts  # conf 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Swift中switch语句区间和元组模式匹配  免费视频制作网站,更新又快又好的免费电影网站?  怎么用AI帮你设计一套个性化的手机App图标?  Laravel如何配置任务调度?(Cron Job示例)  如何在腾讯云免费申请建站?  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  如何为不同团队 ID 动态生成多个非值班状态按钮  公司门户网站制作流程,华为官网怎么做?  如何用JavaScript实现文本编辑器_光标和选区怎么处理  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  Python文件异常处理策略_健壮性说明【指导】  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  如何在阿里云虚拟服务器快速搭建网站?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  晋江文学城电脑版官网 晋江文学城网页版直接进入  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  如何快速选择适合个人网站的云服务器配置?  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  Java类加载基本过程详细介绍  常州企业网站制作公司,全国继续教育网怎么登录?  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  如何在VPS电脑上快速搭建网站?  如何用已有域名快速搭建网站?  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  Laravel如何发送系统通知?(Notification渠道示例)  制作公司内部网站有哪些,内网如何建网站?  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Bootstrap整体框架之CSS12栅格系统  如何快速搭建虚拟主机网站?新手必看指南  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  如何用好域名打造高点击率的自主建站?  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  高端网站建设与定制开发一站式解决方案 中企动力  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  Laravel怎么实现验证码(Captcha)功能