nginx的访问控制
一、基于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的访问控制的更多相关文章
- Nginx IP访问控制,只允许指定的IP地址访问
Nginx可以进行IP访问控制,配置指定的IP地址访问服务器网站 今天领导提出一个新的业务需求,网站上线时让外部用户在上线时间段访问到的页面是维护页面,公司内部员工在上线时段可用正常访问公司的网站. ...
- Nginx详解九:Nginx基础篇之Nginx的访问控制
基于IP的访问控制:http_access_module 不允许指定网段的用户访问:配置语法:deny address | CIDR | unix: | all;默认状态:-配置方法:http.ser ...
- 基于Nginx实现访问控制、连接限制
0 前言 Nginx自带的模块支持对并发请求数进行限制, 还有对请求来源进行限制.可以用来防止DDOS攻击.阅读本文须知道nginx的配置文件结构和语法. 1. 默认配置语法 nginx.conf作为 ...
- nginx之访问控制http_access_module与http_auth_basic_module
http_access_module 作用 基于IP的访问控制 语法 使用 局限性 解决办法 1. http_x_forwarded_for http_auth_basic_module 作用 基于用 ...
- 全面掌握Nginx配置+快速搭建高可用架构 一 Nginx的访问控制
语法 示例 allow 127.0.0.1; deny all; 缺点:局限性 如果通过代理就可以绕过访问限制,限制不准确 解决 1. http_x_forwarded_for 2. 结合geo模块作 ...
- LNMP配置——Nginx配置 ——访问控制
#vi /usr/local/nginx/conf/vhost/test.com.conf 写入: server { listen 80; server_name test.com test1.com ...
- nginx 请求限制和访问控制
请求限制 限制主要有两种类型: 连接频率限制: limit_conn_module 请求频率限制: limit_req_module HTTP协议的连接与请求 HTTP协议是基于TCP的,如果要完成一 ...
- 006.Nginx访问控制
一 Nginx连接限制 1.1 HTTP协议的连接与请求 HTTP是建立在TCP, 一次HTTP请求需要先建立TCP三次握手(称为TCP连接),在连接的基础上再进行HTTP请求. HTTP请求建立在一 ...
- nginx应用总结(1)--基础认识和应用配置
在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结. 一.nginx服务简介Nginx是一个高性能的HTTP和反向代理服务 ...
随机推荐
- ubuntu安装图形界面
命令行模式的Ubuntu16.04安装图形界面 apt-get update sudo apt-get install xinit sudo apt-get install gdm sudo apt- ...
- day_5.5 单例
2018-5-5 15:00:25 单例 : 就是对象只有一个 ''' class main(object): __instance = None def __new__(cls,): if cls. ...
- datagrid--新增
先在datagrid中添加toolbar配置项,增删改差的按钮,有3个属性,按钮名称,图标,回调函数,点击按钮会弹出一个对话框dialog,dialog是关闭的,closed=true, toolba ...
- java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test
写了一个单元测试test来启动activiti,controller放在src/main/java根目录下,test对应也放在src/test/java下,结果报错: java.lang.Illega ...
- href='#' 和 href='###'
如果想定义一个空的链接,又不跳转到页面头部,可以写href="###". 详细解释就是'#' 是有特定意义的,如果 '#' 后有内容会被认为是一个标签而从页面找到相应标签跳转到该处 ...
- C和C指针小记(四)-浮点类型
1.浮点型 浮点数家族包括:float,double,long double. ASCII标准规定:long double 至少和 double 一样长,而 double 至少和float 一样长.同 ...
- MSSQL数据库优化经验
数据库优化的目标无非是避免磁盘I/O瓶颈.减少CPU利用率和减少资源竞争.1. 在业务密集的SQL当中尽量不采用IN操作符2. 不使用not in 因为它不能应用表的索引.用not exists 或 ...
- wpf(布局与Canvas )
WPF的布局有控件都在System.Windows.Controls.Panel这个基类下面,常见的布局控件: . canvas: Canvas是最基本的面板,它不会自动调整内部元素的排列及大小,它仅 ...
- [knowledge][perl][pcre][sed] sed / PCRE 语法/正则表达式
一直用sed一直没有正经的学过语法,一直一知半解的用着. 因为,它用来perl的语法,要想搞懂,首先要搞懂perl,系统的入个门... 之前,man sed,man了好多次,总是没找到关键内容,今天在 ...
- [daily][mirror][daemonlogger][tc] 我想把一个网卡(port A)的流量,镜像到虚拟机的一个网卡(port VA)上去
iptables tee 模块 https://blog.gnuers.org/?p=740 http://blog.csdn.net/wesleyflagon/article/details/385 ...