浏览模式: 普通 | 列表
分类: nginx | 1 | 2 | 3 | 4 | 5 | 6 | >
使用原机的lnmp的更新脚本报错,就使用手动下载nginx1.30.1来编译,因为需要使用lua和waf,所以关联模块就多了点。
必须使用老nginx -V的configure参数来编译1.30.1,不然会出现丢失已经在使用的模块。
nginx下载:https://nginx.org/download/nginx-1.30.1.tar.gz


开始先检查luajit是否安装,看看版本是否2.1,然后设置下环境变量
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.1
export LUAJIT_LIB=/usr/local/luajit/lib

还有一个问题是6.10默认openssl1.0.1,无法满足要求,需要再编译一个新的openssl1.1.1w,但是不能覆...

阅读全文…
第一步:nginx的服务配置
进入nginx文件目录,复制winsw-1.18,改winsw-1.18.exe为nginx-service.exe,
当前目录下新建 nginx-service.xml,内容如下:
<service>
  
   <id>nginx</id>
   <name>nginx</name>
   <description>nginx</description>
   <logpath>D:/nginx1.19.5/logs</logpath>
   <logmode>rotate</logmode>

     <depend></depend>
     <workingdir>D:/nginx1.19.5</workingdir>
     <executable>D:/nginx1.19.5/nginx.exe</executable>
     <stopexecutable>D:/nginx1.19.5/nginx.exe -s stop</stopexecutable>
...

阅读全文…
p.s. 现在都是3个月的免费证书,新网互联有便宜的ssl证书,但是生成的证书里面没有像其他平台一样自动生成nginx使用的证书文件,需要手动修改下。
我们知道一般申请证书的过程涉及到4个证书文件:
1、blog.xg98.com.csr 证书签名申请
2、blog.xg98.com.key 私钥
3、blog.xg98.com.crt 签发的用户证书,点击证书能看到用户信息和有效期
4、root_bundle.crt 证书链(中间证书)

nginx需要提供2个证书文件:一个key文件,一个crt文件(合并用户证书和中间证书)
apache需要提供3个证书文件:一个key文件,一个用户证书文件,一个中间证书(也就是证书链文件root_bundle.crt)
所以nginx和apache的证书区别是,nginx把用户证书和中间证书合并为一个了
...

阅读全文…
在openresty下接入Lua脚本就一句话,下面给出nginx.conf示范:

nginx.conf
worker_processes 1;
error_log logs/error.log;
events {
         worker_connections 1024;
}
http {
         server {
                listen 80;
                location / {
                     access_by_lua_file 'lua/access.lua';
                     content_by_lua 'ngx.say("Welcome PENIS!")';
                }
         }
}


access.lua
-- package.path = '/usr/loca
...

阅读全文…

nginx 日志分析工具

[ 2020-11-20 22:47:54 | 作者: admin ]
GoAccess

ELK
p.s. LNMP1.5以后,已经加了编译参数,打开后再编译可以直接让nginx支持lua。但是1.5之前的版本需要手动编译支持lua扩展。相关模块的版本可以自己寻找替换为最新的版本
对于LNMP1.5以后版本,打开目录下lnmp.conf,确认其中Enable_Nginx_Lua项,然后运行upgrade.sh选择nginx重新编译即可
Enable_Nginx_Openssl='y'
Enable_Nginx_Lua='y'
Enable_Swap='y'

非LNMP环境可以参考下文:
    Nginx + Lua 搭建网站WAF防火墙 https://www.cnblogs.com/dotnetcrazy/p/11306202.html
    waf的地址:https://github.com/loveshell/ngx_lua_waf
...

阅读全文…
WAF是啥?
WAF中文名是Web应用防火墙,WAF能够根据规则拦截SQL注入、恶意请求、黑客扫描等HTTP请求从而保护WEB应用的安全。
今天我们要说的是一个比较简单好用的基于lua的waf:ngx_lua_waf。
ngx_lua_waf是一个基于lua-nginx-module(openresty)的web应用防火墙,https://github.com/loveshell/ngx_lua_waf

WAF用途:
        防止sql注入,本地包含,部分溢出,fuzzing测试,xss,SSRF等web攻击
        防止svn/备份之类文件泄漏
        防止ApacheBench之类压力测试工具的攻击
        屏蔽常见的扫描黑客工具,扫描器
        屏蔽异常的网络请求
        屏蔽图片附件类目录php执行权限
        防止webshell上传

ngx_lua_waf安装
...

阅读全文…
1. 问题-背景

以前也经常用nginx,但用的不深,通常是简单的设置个location用来做反向代理。直到今天给客户做项目碰到缓存问题:客户有个app,只是用原生做了个壳,里面的内容都是用h5写的,我们半途接手将新版本静态资源部署到服务器上后,发现手机端一直显示老的页面,一抓包,发现手机端根本就没有去请求新的html页面,定位是缓存问题。
2. 配置

乍一看,客户原来的配置好像没什么问题,该有的也全有了

# 这是客户原来的配置
server {
         listen 80 default_server;
         server_name xxx.xxx.com;
         root /app/xxx/html/mobile/;

         location ~ .*\.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)$
...

阅读全文…