nginx访问限制
nginx的访问控制
1.http_access_module 基于ip的访问控制
允许的访问配置

不允许的访问配置

server {
    listen       80;
    server_name  localhost;
    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;
    location / {
        root   /opt/app/code;
        index  index.html index.htm;
    }
    location ~ ^/admin.html {
        root   /opt/app/code;
        deny 222.128.189.17;(限制ip)
        allow all;(允许其他所有ip)
        index  index.html index.htm;
    }
    location ~ ^/admin.html {
        root   /opt/app/code;
        allow 222.128.189.0/24;  (允许访问ip)
        deny all;  (不允许访问)
        index  index.html index.htm;
    }
    #error_page  404              /404.html;
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504 404  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}
利用x_forwarded_for进行访问限制
location / {
        if ( $http_x_forwarded_for !~* "^116\.62\.103\.228"(不是这个ip的返回403)) {
            return 403;
        }
        root   /opt/app/code;
        index  index.html index.htm;
2.http_auth_basic_module 基于用户的信任登入

存储用户信息文件

1.安装httpd-tools
yum -y install httpd-tools
2.设置认证账号密码
htpasswd -c ./auth_conf(文件名称) yoyo(账号) 根据提示输入密码
3.配置文件
location ~(匹配文件) ^/admin.html {
        root   /opt/app/code;
        auth_basic 'auth access test! input you password!';
        auth_basic_user_file /etc/nginx/auth_conf;
        index  index.html index.htm;
    }
4.查看语法是否正确
nginx -t -c /etc/nginx/nginx.conf
5.重启配置
nginx -s reload -c /etc/nginx/nginx.conf
nginx访问限制的更多相关文章
- Nginx 访问日志轮询切割
		Nginx 访问日志轮询切割脚本 #!/bin/sh Dateformat=`date +%Y%m%d` Basedir="/application/nginx" Nginxlog ... 
- 按日期切割nginx访问日志--及性能优化
		先谈下我们需求,一个比较大的nginx访问日志,根据访问日期切割日志,保存在/tmp目录下. 测试机器为腾讯云机子,单核1G内存.测试日志大小80M. 不使用多线程版: #!/usr/bin/env ... 
- 一、基于hadoop的nginx访问日志分析---解析日志篇
		前一阵子,搭建了ELK日志分析平台,用着挺爽的,再也不用给开发拉各种日志,节省了很多时间. 这篇博文是介绍用python代码实现日志分析的,用MRJob实现hadoop上的mapreduce,可以直接 ... 
- Python正则表达式,统计分析nginx访问日志
		目标: 1.正则表达式 2.oop编程,统计nginx访问日志中不同IP地址出现的次数并排序 1.正则表达式 #!/usr/bin/env python # -*- coding: utf-8 -*- ... 
- Nginx访问控制模块
		一.Nginx访问控制模块 Nginx默认安装的模块http_access_module,可以基于来源IP进行访问控制. 1.模块安装 nginx中内置ngx_http_access_module,除 ... 
- logstash收集nginx访问日志
		logstash收集nginx访问日志 安装nginx #直接yum安装: [root@elk-node1 ~]# yum install nginx -y 官方文档:http://nginx.org ... 
- 使用python找出nginx访问日志中访问次数最多的10个ip排序生成网页
		使用python找出nginx访问日志中访问次数最多的10个ip排序生成网页 方法1:linux下使用awk命令 # cat access1.log | awk '{print $1" &q ... 
- nginx访问不到
		nginx访问不到 今天,一朋友的一台linux服务器上部署了nginx,但是外部(公网)就是不能访问,于是协助其排查.整体思路如下: 1.确认nginx配置是否ok. 2.确认网络是否可达. 3.是 ... 
- Nginx 访问日志配置
		一.Nginx 访问日志介绍 Nginx 软件会把每个用户访问网站的日志信息记录到指定的日志文件里,供网站提供者分析用户的浏览行为等,此功能由 ngx_http_log_module 模块负责. 二. ... 
- Nginx访问日志、 Nginx日志切割、静态文件不记录日志和过期时间
		1.Nginx访问日志 配制访问日志:默认定义格式: log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_loc ... 
随机推荐
- rIoTboard学习系列
			刚在咸鱼买了块开发板,比较老了14年的,SOC为imx6solo,内核3.10,uboot2009的,准备先移植一个较新的uboot 到nxp的git下获取他们维护的uboot,网址http://gi ... 
- 手把手教你 通过 NuGet.Server 包 搭建nuget服务器,并使用桌面工具上传 nuget 包,免命令行
			新建web项目 工具:VS2013 版本:.Net Framework 4.6,低版本也行,不过要找到对应版本的Nuget.Server 装了NuGet客户端(百度如何安装) WebForm或MVC都 ... 
- 算法(贪心|BF|KMP)
			贪心算法 前置知识 const Greedy = num => { //贪心 let arr = [100, 20, 10, 5, 2, 1] let count = 0; for (let i ... 
- 【转帖】分布式事务之解决方案(XA和2PC)
			分布式事务之解决方案(XA和2PC) https://zhuanlan.zhihu.com/p/93459200  博彦信息技术有限公司 java工程师 3. 分布式事务解决方案之2PC(两阶段提交 ... 
- 在ubuntu下安装openjdk
			OpenJDK是JDK的开放源码版本,以GPL(General Public License,通用性公开许可证)协议的形式放出.因为授权协议的原因,Sun公司实现的JDK的一部分源码因为产权的问题无法 ... 
- KVM虚拟机典型配置文件xml
			<domain type='kvm'> <name>vm64-1</name> //虚拟机名称 <memory unit='MiB'>2300</ ... 
- 【java】Execption的 e.getMessage()为null的解决方法
			================================ 场景: 当代码出现异常时通常都需要将异常信息写入到日志中,异常信息越详细越有利于问题的排查.而通过的Exception.getMess ... 
- jQuery浮窗图片到页面中间的代码
			jQuery浮窗图片到页面中间的代码 <!doctype html> <html> <head> <meta charset="utf-8" ... 
- idea更改之前保存的git账号和密码
			1.打开控制面板 2.用户账户 3.管理windows凭据 4.点击里面的git就可以修改了 
- vertx 异步编程指南 step8-使用RxJava进行反应式编程
			vertx 异步编程指南 step8-使用RxJava进行反应式编程 2018-04-23 13:15:32 zyydecsdn 阅读数 1212 收藏 更多 分类专栏: vertx 到目前为止 ... 
