配置nginx stream TCP反向代理,在server中配置preread_by_lua_file,lua脚本只有在连接建立时执行一次,再发送报文就不执行了,现在想过滤每个数据报文,具体配置如下:
stream {
lua_code_cache on;
log_format basic '$remote_addr [$time_local] '
'$protocol $status $bytes_sent $bytes_received '
'$session_time $upstream_addr';
access_log logs/stream-access.log basic;
upstream mqtt {
server 127.0.0.1:8883 max_fails=3 fail_timeout=30s;
}
server {
listen 8001 so_keepalive=2m:2s:3;
proxy_connect_timeout 1s;
proxy_pass mqtt;
#proxy_timeout 60s;
preread_by_lua_file "/usr/local/openresty/nginx/mqtt-proxy.lua";
}
}