We're sorry but nginx-community doesn't work properly without JavaScript enabled. Please enable it to continue.
开源社区
首页
文章
问答
文档
软件下载
发现更多
三方插件
技术支持
电子书
公开课
社区贡献榜
关于我们
登录
注册
点赞
评论
收藏
分享
举报
Nginx访问限制配置
发表于2021-02-08 09:56
浏览 5.7k
Nginx访问限制配置
nginx访问限制可以基于两个方面,一个是基于ip的访问控制,另一个是基于用户的信任登陆控制
下面我们将对这两种方法逐个介绍
基于IP的访问控制
介绍: 可以通过配置基于ip的访问控制,达到让某些ip能够访问,限制哪些ip不能访问的效果
这是允许 访问的配置方法
配置语法:allow address | CIDR | unix | all;
默认配置:没有配置
配置路径:http、server、location、limit_except下;
这是不允许访问的配置方法
配置语法:deny address | CIDR | unix | all;
默认配置:没有配置
配置路径:http、server、location、limit_except下;
基于IP访问限制的测试
1. 查看本机ip地址,如果是公网,则到 ip138网查看,如果是试验,使用cmd查看。
2. 在 /opt/app/code/目录下添加一个 admin.html 文件,里面就是一个带着背景颜色的普通admin页面
3. 在 /etc/nginx/conf.d/目录下,修改default.conf文件,添加如下内容
由上图可知,添加了一个location,来匹配 admin.html,在里面设置了基于ip限制的配置, 将 192.xx.xx.xx 限制,不让其访问,其他的都可以访问。
4. 重新加载nginx
5. 浏览器输入网址,查看日志
6. 从上图看之,已经实现了 限制某个ip的访问,如果只允许某个ip访问,只需要改下关键字即可。
基于登陆用户信任的访问控制
举个例子,我们在访问apache信息时弹出一个用户密码框提示,来进行一个访问前验证。
配置语法
:auth_basic string | off;
默认配置
:auth_basic off;
配置路径
:http、server、location、limit_except;
匹配配置语法
: auth_basic_user_file filePath;
匹配默认配置
: 没有配置
匹配配置路径
: http、server、location、limit_except;
1. 需要添加一个身份文件,auth_conf 文件,这里使用一个 htpasswd工具
使用一下命令 htpasswd -c ./auth_conf root;
解释一下: htpasswd 命令 -c:默认是使用md5加密, ./auth_conf 是指定路径和文件 , root是用户名
输入之后,会输入两次密码
2. 修改 default.conf配置文件,修改内容如下
3. 重新加载nginx
4. 输入网址,查看结果,可以看出 要输入身份信息才能访问
已修改于2023-03-06 02:19
创作不易,留下一份鼓励
守望
暂无个人介绍
关注
网络图片
上传图片
写下您的评论
发表评论
全部评论(0)
按点赞数排序
按时间排序
填写举报理由
关于作者
守望
这家伙很懒还未留下介绍~
89
文章
0
问答
18
粉丝
关注 Ta
Ta 的主页
相关文章
Nginx-1.18.0的安装配置与使用
目录一、安装1.1yum安装1.2编译安装二、配置文件详解三、相关配置实例3.1、站点基本配置3.2、root与alias3.3、location的匹配规则3.4、Nginx四层访问控制3.5、Nginx账户认证功能3.6、自定义错误页面3.7、自定义访问日志3.8、检测文件是否存在3.9、长连接配置3.10、作为下载服务器配置3.11、作为上传服务器3.12、隐藏NginxServer版本信息3.13、其它配置项四、高级应用4.1、状态页配置4.2、变量使用4.3、压缩功能4.4、https配置4.5、关于favicon.ico4.6、rewrite指令4.7、代理功能4.8、负载均衡4.9、FastCGI配置五、系统参数优化正文一、安装1.1yum安装(1)配置好yum源与epel源#本地光盘yum源 [development] name=dvdbaserepo baseurl=file:///mnt/cdrom/ enabled=1 gpgcheck=1 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7 #
点赞 5
浏览 18.1k
nginx_upstream_check_module
Name nginx_http_upstream_check_module-supportupstreamhealthcheckwith Nginx Synopsis http{ upstreamcluster{ #simpleround-robin server192.168.0.1:80; server192.168.0.2:80; checkinterval=5000rise=1fall=3timeout=4000; #checkinterval=3000rise=2fall=5timeout=1000type=ssl_hello; #checkinterval=3000rise=2fall=5timeout=1000type=http; #check_http_send"
点赞 0
浏览 4.3k
nginx_upstream_check_modue
Nginxhttpupstreamcheckstatus Nginxhttpupstreamcheckstatus Checkupstreamservernumber:1,generation:3 Index Upstream Name Status Risecounts Fallcounts Checktype Checkport 0 backend 106.187.48.116:80
点赞 0
浏览 3.8k
保持联系
微信公众号
加入微信群
获取商业支持
了解商业产品和专业支持服务
加入邮件列表
向开发组提交代码或反馈意见
分享到
填写举报理由