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和反向代理服务 ...
随机推荐
- windows 清理利器
https://www.ccleaner.com/ 2. https://www.chuyu.me/zh-Hans/index.html
- QT 获取电脑时间
使用环境: VS2010 & QT Designer5 #include <QDateTime> //包含头文件 QDateTime local(QDateTime::curre ...
- 简单xmlrpc服务器
import calendar, SimpleXMLRPCServer class Calendar: def getMonth(self, year, month): return calendar ...
- G - SDOI
The Annual National Olympic of Information(NOI) will be held.The province of Shandong hold a Select( ...
- redis(三)--用Redis作为Mysql数据库的缓存
把MySQL结果集缓存到Redis的字符串或哈希结构中以后,我们面临一个新的问题,即如何为这些字符串或哈希命名,也就是如何确定它们的键.因为这些数据结构所对应的行都属于某个结果集,假如可以找到一种唯一 ...
- Java学习者论坛【申明:来源于网络】
学习者论坛[申明:来源于网络] 1.Java学习者论坛 2.51论坛 3.csdn论坛 4.JAVA ME论坛 地址|: http://www.javaxxz.com/ 地址|: http://bbs ...
- JQ-总结
-----------------------------------------------------------------------------jQuery----------------- ...
- 在VMware中使用Nat方式设置静态IP, 宿主机可以 ssh
坑很多: 麻痹, 主要还是要先 防火墙关掉,永久关掉. seliux 也永久关掉. 临时关闭防火墙:systemctl stop firewalld 开机不启动: systemctl di ...
- OpenGL基础探究
GLuint vertShader, fragShader; NSURL *vertShaderURL, *fragShaderURL; self.program = glCreateProgram( ...
- Xcode 9,真机测试,App installation failed
真机测试:能够build成功,但是 报错App installation failed A valid provisioning profile for this executable was not ...