nginx配置2
第四节 nginx 配置文件
1 keepalive_timeout 65; 设定保存长久连接时长 0代表禁止, 若不设置默认是75s
2keepalive_requests nu; 在一次长连接中允许接受的最多请求数,超出则断开连接
3keepalive_disable none|browser 表示对那种浏览器禁止用长连接 browser是指360
4 send_timeout time; 向客户端发送响应报文的超时时长,此处指两次写操作之间的时间间隔。超出时间表示服务器无法响应
5 client_body_buffer_size 大小; 用于接受客户请求报文body部分的缓冲大小,默认16K
超出次大小,将被暂存到磁盘上由client_body_temp_path 指定的位置
6 client_body_temp_path /var/tmp/client_body 2 1 1
设定用于存储客户端请求报文的body部分临时存放路径 2 1 1 表示
第一个数字: 表示用一位16进制数字表示一级子目录
第二个数字:表示用二级子目录
第三数字 :表示三级子目录
1 表示用一位16进制表示 2 表示用2位16进制表示
这里表示 2指有256个一级子目录, 每个一级子目录下有16个二级级子目录 ,每个二级子目录下有16个三级子目录
对客户端的限制配置:
Limit_rate 限传输速率 0表示无限制
Limit_execpt 对指定请求方式之外的其他方式的使用客户端 仅用于location
如 limit_except GPT {
Allow 192.168.0.0/24;
Deny all;
} 除了GPT之外其他方式仅允许这个网段的主机访问
文件操作配置:
Alo on|off 是否用alo功能
Directio size |off ; 当文件大于或等于给定大小是同步写入到磁盘中,而非缓存
Openfile_cache off; 可以将源数据缓存下来,
Openfile_cache max=N;
Nginx 可以缓存已下三种信息:
1 文件的描述符,文件大小和最近一次修改时间
2打开目录结构
3没有找到的或没有权限访问的文件信息
Max_N :可以缓存的上限达到上限后使用LRU算法实现缓存管理
Incative=time 缓存非活动时长 ,在此处指定的时间内未命中或被命中的次数少于open_file_cache_min_uses 所指定的次数则为非活动项 将被删除
4 Open_file_cache_valid time; 缓存项有效性的检查频率 默认60s
5 open_file_cache_min_uses number; 是指在 Open_file_cache的 incative参数指定的时间内最少命中多少次则为活动项
模块介绍:
1 ngx_http_access_module 实现基于ip的访问控制
之上而下 检查 一旦匹配将生效
如 : location / {
Deny 192.168.1.1;
Allow 192.168.1.0/24;
Deny all;
}
Ngx_http_auth_basic_module 基于用户访问控制使用basic机制进行认证
Auth_basic string | off ;
Auth_basic_user_file file;
如
location / {
auth_basic "Admin Area";
auth_basic_user_file /etc/nginx/.ngxpasswd;
}
添加用户:htpasswd 命令
第一次添加用户需加-c : htpasswd -c -m /etc/nginx/.ngxpasswd xiao
2 ngx_http_stub_module 用于输出nginx基本状态信息;
location / {
stub_status;
}
访问显示:
Active connections: 3
server accepts handled requests
3 3 1
Reading: 0 Writing: 1 Waiting: 2
Active connections: 活动状态连接数
Accepts: 已接受的客户请求总数
Handled: 已处理
Requests : 请求发来的总的请求数
Reading: 处于读取请求
Writing: 处于写入的请求
Waiting: 处于等待的请求
3 ngx_http_log_module 指定日志格式记录请求
access_log /var/log/nginx/access.log main;
4 ngx_http_giz_module 用压缩方式响应数据 ,节省带宽
1 gzip on|off 启用或禁止
2gzip comp level 6 压缩比由高到底 1--9 默认1
3 gzip_disable regex ...... 匹配到客户端的浏览器不压缩
4gzip_min_lenth lenth 启用压缩功能的响应报文大小阀值
5gzip_http_version 1.0|1.1 设定启用压缩功能协议的最小版本 默认1.1
6gzip_buffers number size; 启动压缩功能,缓存区数量和每个缓存区大小
7gzip_type text/html : 指明对那种类型资源进行压缩
8gzip_vary on|off ; 如果启用压缩是否在响应报文首部插入vary
9gzip_proxied off ; nginx充当代理是对后端服务器在何种情况是启用压缩功能
第五节
4 ngx_http_ssl_module
Ssl on |off 启用ssl 建议用listen代替
Ssl_certificate file 当前虚拟机使用PEM格式的证书文件
Ssl_sertificate_key file 私钥文件
ssl_session_cache off ; 缓冲
None:通知客户端支持ssl缓冲但实际不支持
Builtin【size】使用ssl内建的缓存,为每个worker私有的
[share :name:size] :在worker之间共享缓存
ssl_session_timeout 客户连接可以复用的ssl 在缓冲中的有效时长
server {
# listen 443 ssl http2 default_server;
# listen [::]:443 ssl http2 default_server;
# server_name _;
# root /usr/share/nginx/html;
#
# ssl_certificate "/etc/pki/nginx/server.crt";
# ssl_certificate_key "/etc/pki/nginx/private/server.key";
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 10m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
实验
Ca:
1、首先要确保/etc/pki/CA下有certs、crl、newcerts、private四个目录,然后再创建所需要的文件
2、]# (umask 077; openssl genrsa -out private/cakey.pem 2048) 创建私钥
3、生成证书请求,并自签
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem
-new:生成新证书签署请求
-x509:专用于CA生成自签证书
-key:生成请求时用到的私钥文件
-days n:证书的有效期限
-out /PATH/TO/SOMECERTFILE:证书的保存路径
要输入国家名、省份名、地区(市)名、组织或公司名、部门名、服务器名、Email地址
奥
Touch
index.txt
Echo
“01” > serial
命令行生成CA根证书
openssl x509 -req -in ca.csr -signkey
ca.key -out ca.crt
服务端:
Mkdir /etc/nginx/ssl
Cd /etc/nginx/ssl
# (umask
077;openssl genrsa -out nginx.key 2048) 创建私钥
创建ca 需要与CA 服务填写信息一样
Openssl req
-new -key nginx.key
-days 356 -out /nginx.csr
传给CA:# scp nginx.csr 192.168.220.130:/tmp/
CA:
# openssl x509
-req -sha256 -CA /etc/pki/CA/ca.crt -CAkey /etc/pki/CA/ca.key -CAcreateserial
-in nginx.csr -out nginx.crt
]# scp
/tmp/nginx.crt 192.168.220.135:/tmp/
服务器:
问题;
nginx: [emerg]
PEM_read_bio_X509_AUX("/etc/pki/nginx/server.crt") failed (SSL:
error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: TRUSTED
CERTIFICATE)
nginx:
configuration file /etc/nginx/nginx.conf test failed
是证书颁发步骤不对
Ngx_http_rewrite_module 模
将用户请求的URI 通过基于PCRE regex 描述的模式进行检查后完成重定向
1 rewrite regex replacrment
[flag]
将regex匹配到的重定向为replacement
注意在同一级别的匹配块中有多个rewrite规则,那么会自上而下检查,被某个规则匹配到完成后,会重新一轮的重定向检查
Flag 所表示的标记位用来控制此循环机制
Last:重写成功后,停止对当前URL 在当前location中后续的其他重写操作,而对新的URL 启动新的一轮重写检查,提前重启新一轮循环,不建议在location中使用。
Break:重写后停止对当前URI 在当前location中的后续重写操作,而后直接跳转至重写规则配置块之后的其他配置,结束循环,建议在location中使用
Redirect:临时重定向,重新后以新的URI 返回给客户端状态吗302
Permanent:永久重定向,重写后直接将新生成URI 返回给客户端 状态码301
If条件判断:
If ($request_method =
post) {
Return 405;
}
比较操作符:
==
!=
~:模式匹配 区分大小写
~*:模式匹配 不区分大小写
!~:模式不匹配
文件目录判断:
-e !e
-f !-f
-d !-d
-x !-x
Set $variable
value 用户自定义变量
nginx配置2的更多相关文章
- nginx配置反向代理或跳转出现400问题处理记录
午休完上班后,同事说测试站点访问接口出现400 Bad Request Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...
- Windos环境用Nginx配置反向代理和负载均衡
Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...
- Nginx 配置简述
不论是本地开发,还是远程到 Server 开发,还是给提供 demo 给人看效果,我们时常需要对 Nginx 做配置,Nginx 的配置项相当多,如果考虑性能配置起来会比较麻烦.不过,我们往往只是需要 ...
- Nginx配置详解
序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也 ...
- Nginx配置Https
1.申请证书: https://console.qcloud.com/ssl?utm_source=yingyongbao&utm_medium=ssl&utm_campaign=qc ...
- nginx配置为windows服务中的坑
网上搜索“nginx 配置为windows服务”,很容易搜索到使用windows server warpper来配置,于是按照网上的方法我从github上的链接下载了1.17版本,前面都很顺利,很容易 ...
- 【nginx配置】nginx做非80端口转发
一个场景 最近在使用PHP重写一个使用JAVA写的项目,因为需要查看之前的项目,所以要在本地搭建一个Tomcat来跑JAVA的项目.搭建成功后,因为Tomcat监听的端口是8080,因此,访问的URL ...
- Apache、nginx配置的网站127.0.0.1可以正常访问,内外网的ip地址无法访问,谁的锅?
最近做开发,发现一个比较尴尬的问题.因为我是一个web开发者,经常要用到Apache或者nginx等服务器软件,经过我测试发现,只要我打开了adsafe,我便不能通过ip地址访问我本地的网站了,比如我 ...
- nginx配置301重定向
1. 简介 301重定向可以传递权重,相比其他重定向,只有301是最正式的,不会被搜索引擎判断为作弊 2. 栗子 savokiss.com 301到 savokiss.me 3. nginx默认配置方 ...
随机推荐
- bootstrap4简单使用和入门01-简单表单的使用
基本表单页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- MySQL按字段排序后取序号
1 前言 项目中排行榜刚好需要查数据库表然后给出编号,方案一,可以按条件查找出来,然后再按数组序号给编号,但是如果要查表出来直接看,就不太够用了:方案二,就是用代码帮忙编号.参考了网上一些代码,然后发 ...
- 35)django-验证码
一:验证码原理 第一次访问GET,后台: 1.创建一张图片 2.在图片中写入随机字符串 3.将图片写到制定文件 4.打开指定目录文件,读取内容 5.把生成的验证码保存在session中 6. 通过Ht ...
- Android启动模式之singleinstance的坑
前言 在实际应用中,使用singleinstance启动模式时,会遇到一些奇奇怪怪的问题.Android有四种启动模式,分别是standard,singleTop,singleTask,singleI ...
- Confluence 6 数据库问题解除
有关数据库相关的问题,请参考 Database Troubleshooting 中的内容. 希望获得更多的帮助,请参考 Troubleshooting Problems and Requesting ...
- selenium+python之 辨识alert、window以及操作
1.分辨 首先区别下alert.window和伪装对话框: alert,浏览器弹出框,一般是用来确认某些操作.输入简单的text或用户名.密码等,根据浏览器的不同,弹出框的样式也不一样,不过都是很简单 ...
- asynicio模块以及爬虫应用asynicio模块(高性能爬虫)
一.背景知识 爬虫的本质就是一个socket客户端与服务端的通信过程,如果我们有多个url待爬取,只用一个线程且采用串行的方式执行,那只能等待爬取一个结束后才能继续下一个,效率会非常低. 需要强调的是 ...
- xampp 安装以及相关问题
1.安装xampp 说明:xampp集成了mysql,Apache,php,360软件里面就有 2.mysql端口被占用. 如果电脑上已安装MySql数据库,还想用XAM ...
- bzoj1123 割点性质应用
删掉无向图上任意一点,请求出将会增加的不连通的点对数 将无向图联通性的问题转化到搜索树方向上考虑 如果一个点不是割点,那么删掉该点的答案很简单,就是2*(n-1) 如果点u是割点,同时u在搜索树上有t ...
- bzoj 1222
比较简单的背包dp,设计状态f[i][j]表示到了前i个物品,第一台机器加工时间为j,第二台机器加工所用的最小时间,然后背包转移即可 本题卡空间,需要滚动数组优化 本题卡时间,稍微卡下常就行 #inc ...