• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Nginx访问限制配置详解

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

什么是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访问,只需要改下关键字即可。

示例:

一、服务器全局限IP

#vi nginx.conf
  allow 10.115.0.116; #允许的IP
  deny all;

二、站点限IP

#vi vhosts.conf
站点全局限IP:
location / {
  index index.html index.htm index.php;
  allow 10.115.0.116;
  deny all;

站点目录限制

location ^~ /test/ {
  allow 10.115.0.116;
  deny all;

基于登陆用户信任的访问控制

举个例子,我们在访问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. 输入网址,查看结果,可以看出 要输入身份信息才能访问


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持极客世界。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
详解nginx代理socket.io服务踩坑发布时间:2022-02-12
下一篇:
nginx配置多个虚拟主机vhost的方法示例发布时间:2022-02-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap