在preread_by_lua_block指令中通过 ngx.req.socket receive数据,而不影响后续的处理

27 views
Skip to first unread message

Yang Puguang

unread,
Jan 30, 2023, 1:25:57 AM1/30/23
to openresty
您好。我读了这个文档preread_by_lua_block, 这里面提到如果使用ngx.req.socket#receive读取数据的话,已经消费的数据不会被执行链中下一个handler读取到。我想通过这个方法读取SNI的值,然后再把tcp流量根据SNI转发给upstream, 只有upstream处理TSL参与握手。请问有什么办法读取socket中的数据,但是又不影响后续的处理吗?
谢谢

Junlong Li

unread,
Jan 30, 2023, 6:22:36 AM1/30/23
to openresty
你可以尝试  在balancer_by_lua里面用 reqsock:peek来获取数据
Reply all
Reply to author
Forward
0 new messages