NGINX反向代理在测试中的几个应用场景

NGINX反向代理在测试中的几个应用场景

NGINX反向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

利用NGINX搭建反向代理服务器,对于测试环境可以有如下作用:

这里写图片描述

  1. 统一各应用的服务地址,根据上下文访问路径区分应用,应用环境切换时,只切换NGINX配置,业务访问的IP始终不变,也不用切换网络域名。
  2. 按照NGINX标准格式记录应用访问的日志(不记录应用自身程序调用日志),解决长流程交易了各应用时钟不一致对于日志分析的影响
  3. 通过lua组件,可以实现对于GET,POST,REQUEST接口和BODY内容的标准化记录,解决了接口报文采集的问题,可以快速的实现对全量应用的接口报文捕获,同时也解决了原来通过正则表达式解析报文的效率问题。

实现方法

实现方法非常简单,只需要安装NGINX和LUA组件,然后配置成HTTP和SOCKET反向代理服务器,指向应用的应用服务或接口服务。

配置文件

nginx.conf

worker_processes  1; 
events { 
    worker_connections  1024; 
} 

http { 
    include       mime.types; 
    default_type  application/octet-stream; 
    log_format  dm  '[$time_local] - $remote_addr - $http_referer - $request - $request_body'; 
    access_log logs/post.log dm; 
    server { 
        listen       8080; 
        server_name  localhost; 
        location /aaa { 
            lua_need_request_body on; 
            content_by_lua 'local s = ngx.var.request_body'; 
            proxy_pass   http://2.2.2.2:9081/aaa;   
        } 
        location /bbb { 
            lua_need_request_body on; 
            content_by_lua 'local s = ngx.var.request_body'; 
            proxy_pass   http://3.3.3.3:8080/bbb; 
        } 

    } 

} 
include /usr/local/nginx/socket/socket.conf; 

socket.conf

error_log logs/socket.log debug; 
stream { 
upstream bss_num_socket { 
        hash $remote_addr consistent; 
        server 1.1.1.1:9998 weight=5 max_fails=3 fail_timeout=30s; 
        } 
server { 
       listen 9998; 
        proxy_connect_timeout 1s; 
        proxy_timeout 3s; 
       proxy_pass bss_num_socket; 
        } 
}

问题

  1. socket反向代理如何记录post报文的问题
  2. 如何利用nginx实现动态插码捕获网页端操作
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值