科技匠|nginx常见模块headers-more,set-misc( 三 )
install and overview该模块地址为
安装时直接编译即可 , 如下所示:
git clone git clone cd nginx-1.19.2/./configure --prefix=/usr/local/nginx --add-module=../ngx_devel_kit --add-module=../set-misc-nginx-modulemake && make install下面的其他功能指令由于使用的机会不会很多;尽做展示;需要时实际再查即可;
2、防止SQL注入
指令:set_quote_sql_str
3、字符串非转义和转义
指令:set_unescape_uri
4、基于键值的集群分片
Nginx通过第三方模块可以和数据库进行交互 , 这使API 服务更容易部署和开发 。 当需要对数据库中的数据分片读取时 , 可以使用指令set_hashed_upstream进行配置 。
指令:set_hashed_upstream
5、base编码
指令:set_encode_base32
6、md5编码
指令:set_md5
7、生成随机数
指令:set_random
指令:set_secure_random_alphanum
指令:set_secure_random_lcalpha
8、本地时间的输出
指令:set_local_today
9、实战经验
- 关于指令set_if_empty要尽量减少if语句的使用 , 而且使用set_if_empty能够提升Nginx的可读性 。
- 关于指令set_quote_sql_str一旦让Nginx和数据库直接交互 , 要确保set_quote_sql_str指令的存在 , 以防止SQL注入 。
- 关于指令set_unescape_uri和set_escape_uri在处理数据时 , 如URL , 需要确保转义和非转义的统一性 , 避免出现前面的代码做了转义 , 但后面的某些环节却使用非转义数据的情况 , 因为这样会导致在匹配和对比时出现数据不一致的情况 。
- 关于指令set_hashed_upstream该类型的分片比较简单 , 不涉及高可用 。 如果某个upstream服务全部“挂掉” , 则会报错 。 因此 , 在设计分片时要考虑足够多的可能性 。
安装方式:只需在编译Nginx时 , 添加--with-http_image_filter_module即可 。
依赖库:libgd(gddevel) , 在CentOS系统下通过yum安装即可(推荐使用最新版本) 。
【科技匠|nginx常见模块headers-more,set-misc】具体的使用;在有需要时 , 可以查阅对应官网说明和使用手册;
推荐阅读
- 所持股份|万兴科技:公司控股股东、实际控制人吴太兵质押150万股
- 发布公告|数量过半!博创科技:天通股份累计减持约150万股
- 英雄科技聊数码|蔡崇信有实力买下篮网,那身价3200亿的马云,能买下几支NBA球队
- 科技前沿阵地|涨疯了!海思安防芯片遭哄抬“围剿”
- 月影浓|吴亦凡机械造型走秀 垫肩披风搭银框眼镜科技感足
- 中国历史发展过程|中国历史发展过程.中国的科技史界过去半个多世纪
- 天津|桂发祥:不再持有昆汀科技股份
- 消费|减持!天通股份:减持博创科技约32万股
- 处罚|老周侃股:吉鑫科技大股东应补偿踩雷投资者
- 华中科技大学|杯具!超本科线95分,本科有路不走,却梦幻般碰瓷,撞开专科的门
