0x1 参考: https://2d2d.io/s1/kong-vs-apisix/
0x1 # luajit下载 https://github.com/openresty/luajit2 # lua nginx下载 https://github.com/openresty/lua-nginx-module # ngx_devel_kit 下载 0x2 make && make install PREFIX=/usr/local/luajit-2.1 && ln -s /usr/local/luajit-2.1 /usr/local/luajit # tell ngi…
0x1 在某些情况下,我们代理了第三方的源站,想要修改源站的响应内容给客户端,此需求是可以通过常用的httpd,nginx代理服务器实现的,本文章仅描述nginx的方法。 0x2 nginx的sub_filter模块可以实现替换响应内容,模块介绍: http://nginx.org/en/docs/http/ngx_http_sub_module.html 局限性:nginx 自带的sub_filter不支持正则表达式,第三方模块提供了正则 substitutions 0x3 官方自带的sub_filter和第三方…
背景 目前大部分浏览器已经不支持ftp协议了,win11也移除了支持ftp的ie,那么现在使用ftp有几个方案: 使用资源管理器,但界面看起来就不太舒服了 使用cmd匿名登录或者wget下载指定文件,浏览文件不方便 使用第三方工具登录ftp或者下载ftp文件,浏览文件不方便 解决 其实下载ftp和查看ftp文件都还是支持的,只是更好的观赏性和便利性已经不支持了。而且ftp的重要功能是上传,对于内网大部分的用户而言他们都不需要上传,所以我们新增一个http协议吧,让下载/浏览/便利重新回归,此次使用nginx的文件下…
异常问题之重新登录 某项目反馈编辑报表页面点击任意按钮会弹出重新登录,很是怪异。 排查 通过浏览器确定了复现问题时候ng的会话变了,那么可以知道后续转发到tomcat就会有新会话,导致重新登录 首先排查了ng配置,没有发现跳转到新tomcat的相关内容,主要是故障漂移等没有触发,那么会话变化不是这里影响 ng开启了upsteam的日志,发现在复现操作的时候有一个跳转,之后upstream地址都变了,于是找到前后相关的请求,并且在浏览器的请求中对比,发现某个请求的上下文路径掉了,于是有了以下解释: 正常情况下,ng的…
背景 现代浏览器以及测试工具对服务端返回的结果有很好的兼容性,会自动解压内容再展示给用户。但是仍然有一些http库或者命令行工具(如curl)不会解压,如果在有大批量这种类型用户时,该如何直接返回明文内容给客户端呢?如下图: 服务端返回压缩,客户端不自动解压,显示乱码 服务端返回压缩,客户端手动解压 解决 解决方案如下: 服务端直接返回未压缩内容 增加nginx服务器,在nginx中解压后再返回给客户端 增加nginx服务器自动解压 此模块默认不会开启,需要在编译安装时增加 The ngx_http_gunzip_…
0x0 问题现象 用户端浏览器有如下报错: 500 Internal Server Error http code 500,但upstream后端未明显报错,那么可以确定是nginx错误,在nginx日志中看到到如下内容,猜测是文件太大而nginx设置的buffer太小出错 2022/01/25 09:51:47 [crit] 17901#0: *635241 open() "/usr/local/tengine/client_body_temp/0000001322" failed (13: …