标签: Nginx

Naxsi 配置白名单

在Nginx下安装和配置完Naxsi之后,为了能够使网站能够区分非法行为和合法行为,需要管理员将合法行为列入白名单。管理员可以通过分析nginx的错误日志手动添加白名单规则,或者通过密集的自动学习工具(nxapi或nxtool),这些工具将自动生成有关网站行为的白名单规则。本文主要介绍白名单规则以及如何通过分析nginx错误日志手动添加白名单规则。 白名单规则配置 naxsi核心规则文件naxsi_core.rules需要在nginx配置文件nginx.conf下的http部分导入,而naxsi…

阅读全文 »

Nginx 部署支持 TLS1.3

目前主流支持的 TLS 协议版本是 1.1 和 1.2,分别发布于 2006年和2008年,也都已经落后于时代的需求了。在2018年8月份,IETF终于宣布TLS 1.3规范正式发布了,标准规范(Standards Track)定义在 rfc8446。 TLS 1.3 相较之前版本的优化内容有: 针对常见的 Web 资源内容,Brotli 的性能相比 Gzip 提高了 17-25%; 应用数据:在会话复用场景下,支持 0-RTT 发送应用数据; 握手消息:从 ServerHello 之后都是密文…

阅读全文 »

Nginx 添加谷歌Brotli压缩替换gzip压缩

Google 认为互联网用户的时间是宝贵的,他们的时间不应该消耗在漫长的网页加载中,因此在 2015 年 9 月 Google 推出了无损压缩算法 Brotli。Brotli 通过变种的 LZ77 算法、Huffman 编码以及二阶文本建模等方式进行数据压缩,与其他压缩算法相比,它有着更高的压缩效率。 根据 Google 发布的研究报告,Brotli 压缩算法具有多个特点,最典型的是以下 3 个: 针对常见的 Web 资源内容,Brotli 的性能相比 Gzip 提高了 17-25%; 当 Br…

阅读全文 »

nginx 安装 GeoIP 模块

Nginx中自带GeoIP模块可以屏蔽指定IP的请求,只不过默认没有被编译,打开以后我们只要再下载一个IP规则就行,Nginx服务器中配置GeoIP模块来拦截指定国家IP: 编译 GeoIP 组件 # cd /usr/local/src # wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz # ./configure # make # make install 刚才安装的库自动安装到 /usr/local/lib …

阅读全文 »

CentOS 编译安装 OpenResty

安装约定 openresty源码路径:/usr/local/src openresty安装路径:/usr/local/openresty openresty配置文件路径:/usr/local/openresty/nginx/conf/nginx.conf openresty虚拟主机路径:/usr/local/openresty/nginx/conf/vhosts 源码包下载地址 http://openresty.org/cn/download.html 下载源代码包 # cd /usr/loca…

阅读全文 »

Nginx 安装第三方 nginx_upstream_check_module 模块

nginx做负载均衡,如果后端服务器有故障的话,nginx是不能把这台realserver从upstream池中移除的,所以还会有请求转发到后端的这台realserver上面去,虽然nginx可以在localtion中启用proxy_next_upstream来判断后端如果有故障就转发到其他可用后端服务器,但这个还是会把请求转发给这台服务器的,然后再转发给别的服务器,这样就浪费了一次转发。可通过第三方模块nginx_upstream_check_module来解决这个问题,此模块检测后方real…

阅读全文 »

CentOS 编译安装 Nginx 1.12

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。 安装约定 nginx源码路径:/usr/local/src nginx安装路径:/usr/local/nginx nginx配置文件路径:/usr…

阅读全文 »

Nginx 修改名称以及版本号

假设修改nginx名称为xws,需要以下三个步骤 1、修改src/core/nginx.h(Nginx内部名称的) #define NGINX_VERSION “1.8.0” #define NGINX_VER “nginx/” NGINX_VERSION NGINX_VERSION是版本号,NGINX_VER是名称 改为 #define NGINX_VER “xws” 2、修改src/http/ngx_http_header_filter_module.c(HTTP ResponseHeade…

阅读全文 »

CentOS 编译安装 Nginx 1.10

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。 安装约定 nginx源码路径:/usr/local/src nginx安装路径:/usr/local/nginx nginx配置文件路径:/usr…

阅读全文 »

Nginx 配置忽略文件名大小写

文件从Windows转移到Linux,由于Windows下文件名不区分大小写,但是linux区分,导致,一些大写的文件名url打开报404错误。 解决办法: 1.将文件夹以及文件都改为小写,批量修改命令如下: # find -exec sh -c ‘rm -f “$0” `echo “$0” | tr “[A-Z]” “[a-z]”` > /dev/null 2>&1’ {} \; 2.使用Lua模块实现大小写转化 Lua安装请参考 http://www.123admin.c…

阅读全文 »