nginx-(三)基本模块1
nginx常用模块介绍
ngx_http_access_module模块的配置(基于IP的访问控制)
- allow address | CIDR | unix: | all;
- deny address | CIDR | unix: | all;
a) 应用上下文:http, server, location, limit_except
b) eg:
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
}
ngx_http_auth_basic_module模块的配置(basic认证)
- auth_basic string | off;
使用http basic认证协议对用户进行认证;读取auth_basic_user_file 指定文件
string:用来向用户展示一些提示信息,告诉用户为什么认证
off:代表不急于http basic进行加密
- auth_basic_user_file file;
实现用户认证的账号文件;
a) 文件格式:
name:password:comment
eg:name1:password1
name2:password2:comment
b) 密码格式:
htpasswd:使用此命令生成加密文件
eg:
location /admin/ {
auth_basic "Admin Area";
auth_basic_user_file /etc/nginx/.ngxhtpasswd;
}
ngx_http_stub_status_module模块配置
- stub_status;
用于输出Nginx的状态信息,通过指定的uri(http://ip:port/status)访问状态页面;
a) 页面信息如下
Active connections: 291
server accepts handled requests
16630948 16630948 31070465
Reading: 6 Writing: 179 Waiting: 106
b) 详解
Active connections:当前活动的客户端连接数;
accepts:已经接受的客户端连接总数量;
handled:已经处理过后客户端连接总数量;
requests:客户端的总的请求数量;
Readking:正在读取的客户端请求的数量;
Writing:正向其发送响应报文的连接数量;
Waiting:等待其发出请求的空闲连接数量;
ngx_http_referer_module模块配置
基于请求报文中的Referer首部的值做访问控制
- valid_referers none | blocked | server_names | string ...;
a) 定义合法的referer数据,可以包含 none | blocked | server_names | string ...;中的一个或多个
none:请求报文不存在referer首部;
blocked:请求报文中存在referer首部,但其没有有效值,或其值非以http://或https://开头;
server_names:其值为一个主机名;例如server_names *.example.com
arbitrary string:直接字符串,可以使用*通配符;
regular expression:以~起始的正则表达式;
b) 内置变量:$invalid_referer(所有不能符合valid_referer指定定义的引用请求均为不合法引用)
c) eg:
valid_referers none blocked server_names *.example.com example.* www.example.org/galleries/ ~\.google\.;
if ($invalid_referer) {
return 403;
}
ngx_http_log_module模块的配置(访问日志)
- log_format name string ...
定义日志格式及其名称;日志格式一般通过调用内置变量来定义;
默认:access_log logs/access.log combined;
- access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]];
access_log off;
访问日志文件路径,格式名称以及缓存大小、压缩比和刷写时间间隔;建议定义缓冲以提升性能;
- open_log_file_cache max=N [inactive=time] [min_uses=N] [valid=time];
open_log_file_cache off;
ngx_http_ssl_module模块配置
- ssl on | off
控制启用或禁止ssl
- ssl_certificate file;
当前虚拟主机使用的证书文件路径;
- ssl_certificate_key file;
当前虚拟主机使用的证书文件中的公钥配对的私钥文件;
补充:生成私钥方法
(umask 077;openssl genrsa -out ssl/nginx.key 1024)
生成证书
openssl req -new -key nginx.key -out nginx.csr -days 365
- ssl_ciphers ciphers;
指明由nginx使用的加密算法,可以是OpenSSL库中所支持各加密套件;
使用 openssl ciphers 命令查看支持的加密算法
- ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2];
指明会话使用的ssl协议版本,默认为后三个;
注意SSLv2版本已经被证明是不安全的,建议不要使用
- ssl_session_cache off | none | [builtin[:size]] [shared:name:size];
指明ssl会话缓存机制;
off:绝对禁用ssl会话缓存
none:禁用ssl会话缓存
builtin:使用OpenSSL内置的ssl会话缓存机制,此机制为各worker私有;缺陷是有时候客户的几次会话可能会分别发送给不同worker进程,这样会导致会话缓存命中率不高
shared:与builtin不同之处在于,各worker之间使用一个共享的缓存;
name:缓存空间的名称;
size:缓存空间大小;每1M空间大约可缓存4000个会话
eg:ssl_session_cache builtin:1000 shared:SSL:10m;
- ssl_session_timeout time;
ssl会话超时时长默认5分钟;即ssl session cache中的缓存有效时长;
nginx-(三)基本模块1的更多相关文章
- nginx 增加 lua模块
Nginx中的stub_status模块主要用于查看Nginx的一些状态信息. 本模块默认是不会编译进Nginx的,如果你要使用该模块,则要在编译安装Nginx时指定: ./configure –wi ...
- Nginx访问限制模块limit_conn_zone 和limit_req_zone配置使用
nginx可以通过limit_conn_zone 和limit_req_zone两个组件来对客户端访问目录和文件的访问频率和次数进行限制,另外还可以善用进行服务安全加固,两个模块都能够对客户端访问进行 ...
- nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下)
nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下),安装Nginx和HttpAccessKeyModule模块(参考LNMP环境 ...
- nginx內建模块使用
目录 nginx內建模块使用 1. 內建模块的引入 1.1 查看安装信息 1.2 重新指定配置信息 2. 內建模块的使用 2.1 http_stub_status_module 2.2 http_ra ...
- nginx的ngx_http_geoip2模块以精准禁止特定地区IP访问
要求:对网站的信息,比如某个访问节点不想国内或者国外的用户使用,禁止国内或者国外或者精确到某个城市的那种情况. 解决方式:1.Cloudfalre来实现禁止特定国家的ip访问,比较简单,但是需要mon ...
- Nginx 常用基础模块
目录 Nginx 常用基础模块 Nginx日志管理 nginx日志切割 Nginx目录索引 Nginx状态监控 Nginx访问控制 Nginx访问限制 Nginx 请求限制配置实战 Nginx Loc ...
- Nginx 的过滤模块是干啥用的?
上一篇文章我写了 Nginx 的 11 个阶段,很多人都说太长了.这是出于文章完整性的考虑的,11 个阶段嘛,一次性说完就完事了.今天这篇文章比较短,看完没问题. 过滤模块的位置 之前我们介绍了 Ng ...
- Nginx使用SSL模块配置https
背景 开发微信小程序,需要https域名,因此使用Nginx的SSL模块配置https 步骤 一.去域名管理商(如腾讯云.阿里云等)申请CA证书 二.在Nginx中配置,一般情况下域名管理商会提供配置 ...
- 附002.Nginx代理相关模块解析
一 ngx_http_proxy_module模块 1.1 proxy_pass配置 proxy_pass URL; Context: location, if in location, limit_ ...
- nginx 的常用模块
nginx的常用模块 ngx_http_index_module Syntax: index file ...; Default: index index.html; Context: http, s ...
随机推荐
- 探究JavaScript闭包
什么是JavaScript闭包? 刚开始知道这个词,就误以为是自动执行的匿名函数块. 比如说+function(){}(); 然而并不是,那么请看下面的例子: function init() { va ...
- WebApp 滚动列表的实现
实现效果: 实现技术:overflow,flex,element::-webkit-scrollbar 实现步骤: //html:代码<div id="slider"> ...
- JAVA中的NIO (New IO)
简介 标准的IO是基于字节流和字符流进行操作的,而JAVA中的NIO是基于Channel和Buffer进行操作的. 传统IO graph TB; 字节流 --> InputStream; 字节流 ...
- 1、Hibernate-入门
一.概述 1.什么是Hibernate: Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,h ...
- [考试反思]0927csp-s模拟测试53:沦陷
很喜欢Yu-shi说过的一句话 在OI里,菜即是原罪 对啊. 都会.谁信呢? 没有分数,你说话算什么呢? 你就是菜,你就是不对,没有别的道理. 最没有用的,莫过于改题大神,这就是菜的借口. 但是其实这 ...
- NOIP模拟测试33
这次考试很失败. T1sb题,40分钟切了,当我打完对拍全过去上厕所的时候,碰到了yxm. yxm:我又自闭了,没有一点进展. 我:…… yxm:你会做几个? 我(思考再三):T1只会暴力. (我这么 ...
- svg路径蒙版动画
svg路径蒙版动画,是比较实用的一种动画效果,能够绘制如下图所示的动画. 接下来细说这样的动画是如何做成的: 1.准备工作 2.SVG路径动画 3.SVG路径蒙版动画 4.复杂图形的编辑技巧 1.准备 ...
- 2018年7月份前端开源软件TOP3
基于 ThinkPHP5 + Bootstrap 的后台开发框架 FastAdmin FastAdmin 详细介绍 FastAdmin是一款基于 ThinkPHP5 + Bootstrap 的极速后台 ...
- MySQL-配置环境变量及修改密码(附-mysql安装教程)
MySQL-配置环境变量和修改密码 mysql的安装教程:链接:https://pan.baidu.com/s/1rrPT2X0yRF58kN8jZZx-Mg 密码:55dh 一. 闪退问题 1.1. ...
- Java线程池中线程的状态简介
首先明确一下线程在JVM中的各个状态(JavaCore文件中) 1.死锁,Deadlock(重点关注) 2.执行中,Runnable(重点关注) 3.等待资源,Waiting on condition ...