一、基于Basic Auth认证与基于IP的访问控制

一、基于Basic Auth认证

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

  1、安装httpd-tools,用htpasswd来生成密码信息

  首先要安装httpd-tools,在httpd-tools中包含了htpasswd命令。

yum install -y httpd-tools

  2、创建一个用户,然后基于这个用户通过htpasswd命令生成用户名及对应密码数据库文件

#创建用户
useradd webuser #创建密码管理目录
mkdir -p /etc/nginx/auth/ #创建密码
# htpasswd -c /etc/nginx/auth/passwd.db webuser //创建认证信息,webuser 为认证用户名
New password: ******* //输入认证密码 web@user
Re-type new password: ******** //再次输入认证密码 web@user
Adding password for user webuser #修改网站认证数据库权限
chmod /etc/nginx/auth/passwd.db #修改网站认证数据库属主和属组
chown root:root /etc/nginx/auth/passwd.db #查看通过htpasswd生成的密码为加密格式
#cat /etc/nginx/auth/passwd.db
wyl:r5IXRXWSmlBk6

  2、编辑nginx的配置文件

server {
listen ;
server_name localhost; client_max_body_size 151m; location / {
auth_basic "s1"; #虚拟主机认证命名
auth_basic_user_file /etc/nginx/auth/passwd.db; #虚拟主机用户名密码认证数据库
proxy_pass http://10.0.0.10:8088; #访问
}
}

  3、重启nginx

nginx -s reload

  4、访问测试

  需要输入密码和账号,输入正确的用户名和密码之后,才可以访问相应的内容。

二、基于IP的访问控制

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

  1、模块安装

  nginx中内置ngx_http_access_module,除非编译安装时指定了–without-http_access_module

  2、指令

    1、allow

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

  默认值: -

  配置段: http, server, location, limit_except

  允许某个ip或者一个ip段访问。如果指定unix:,那将允许socket的访问。

    2、deny

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

  默认值: -

  配置段: http, server, location, limit_except

  禁止某个ip或者一个ip段访问.如果指定unix:,那将禁止socket的访问

  3、示例

location / {
deny 192.168.1.1;
allow 192.168.1.0/;
allow 10.1.1.0/;
allow :0db8::/;
deny all;
}

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

  被deny的将返回403状态码。

nginx的访问控制的更多相关文章

  1. Nginx IP访问控制,只允许指定的IP地址访问

    Nginx可以进行IP访问控制,配置指定的IP地址访问服务器网站 今天领导提出一个新的业务需求,网站上线时让外部用户在上线时间段访问到的页面是维护页面,公司内部员工在上线时段可用正常访问公司的网站. ...

  2. Nginx详解九:Nginx基础篇之Nginx的访问控制

    基于IP的访问控制:http_access_module 不允许指定网段的用户访问:配置语法:deny address | CIDR | unix: | all;默认状态:-配置方法:http.ser ...

  3. 基于Nginx实现访问控制、连接限制

    0 前言 Nginx自带的模块支持对并发请求数进行限制, 还有对请求来源进行限制.可以用来防止DDOS攻击.阅读本文须知道nginx的配置文件结构和语法. 1. 默认配置语法 nginx.conf作为 ...

  4. nginx之访问控制http_access_module与http_auth_basic_module

    http_access_module 作用 基于IP的访问控制 语法 使用 局限性 解决办法 1. http_x_forwarded_for http_auth_basic_module 作用 基于用 ...

  5. 全面掌握Nginx配置+快速搭建高可用架构 一 Nginx的访问控制

    语法 示例 allow 127.0.0.1; deny all; 缺点:局限性 如果通过代理就可以绕过访问限制,限制不准确 解决 1. http_x_forwarded_for 2. 结合geo模块作 ...

  6. LNMP配置——Nginx配置 ——访问控制

    #vi /usr/local/nginx/conf/vhost/test.com.conf 写入: server { listen 80; server_name test.com test1.com ...

  7. nginx 请求限制和访问控制

    请求限制 限制主要有两种类型: 连接频率限制: limit_conn_module 请求频率限制: limit_req_module HTTP协议的连接与请求 HTTP协议是基于TCP的,如果要完成一 ...

  8. 006.Nginx访问控制

    一 Nginx连接限制 1.1 HTTP协议的连接与请求 HTTP是建立在TCP, 一次HTTP请求需要先建立TCP三次握手(称为TCP连接),在连接的基础上再进行HTTP请求. HTTP请求建立在一 ...

  9. nginx应用总结(1)--基础认识和应用配置

    在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结. 一.nginx服务简介Nginx是一个高性能的HTTP和反向代理服务 ...

随机推荐

  1. [原]openstack-kilo--issue(二十一) instance can't get ip 虚拟机不能得到ip(2)

    ===问题点==== 在使用vlan模式部署compute节点的时候出现了下面的错误:在controller节点的dhcp-agent.log中 2017-01-22 20:19:34.178 241 ...

  2. java注解和反射学习

    spring框架很多地方都应用了注解,如@controller,所以要学会自定义注解及注解处理器. Class<?> cl=Class.froName(className) //通过类名加 ...

  3. day_5.14 py 飞机大战Demo

    飞机未完,继续做 2018-5-14 21:05:45 明天继续       循环里面的坑; 删除列表元素后循环了打印的不一样,主要是比如相邻的删除了,33,44 删除33 循环一次后44跑到33位置 ...

  4. win10 开启蓝 由于其配置信息(注册表中的)不完整或已损坏

    在管理员命令提示符下键入以下命令: Dism /Online /Cleanup-Image /ScanHealth 这条命令将扫描全部系统文件并和官方系统文件对比,扫描计算机中的不一致情况. Dism ...

  5. NFS文件服务器搭建

    NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可 ...

  6. Kernel parameter requirements ( Linux DB2)

    Kernel parameter requirements ( Linux DB2) https://www.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/ ...

  7. [No0000179]改善C#程序的建议2:C#中dynamic的正确用法

    dynamic是FrameWork4.0的新特性.dynamic的出现让C#具有了弱语言类型的特性.编译器在编译的时候不再对类型进行检查,编译期默认dynamic对象支持你想要的任何特性.比如,即使你 ...

  8. [No0000C8]英特尔快速存储IRST要不要装

    IRST (英特尔快速存储技术)Intel Rapid Storage Technology(简称IRST)又称英特尔快速存储技术. Intel Rapid Start Technolog同样是简称( ...

  9. /etc/apt/sources.list" E212: Can't open file for writing解决方案

    :w !sudo tee % > /dev/null 解决.

  10. winform进度条

    参考资料: http://www.cnblogs.com/zzy0471/archive/2010/12/12/1903602.html http://www.cnblogs.com/haogj/ar ...