作者回复: 不是很明白这个问题。
proxy_requests=3只是在说:3个报文才对应1个session,1个session结束才会记录一条access日志。到底发几个请求,这个要看client的代码和执行次数的。
作者回复: import socket
import sys
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
if len(sys.argv) == 2:
port = int(sys.argv[1])
else:
port = 9999
for data in ['a', 'b', 'c']:
s.sendto(str.encode(data), ('127.0.0.1', port))
print('first recv:',s.recv(1024))
print('second recv:',s.recv(1024))
s.close()
作者回复: 1、tcp协议是面向连接的2端协议,上游服务没得选择,只能基于tcp连接返回消息。
2、udp协议虽然不是面向连接的协议,但它有面向session的属性,发送消息里的source ip和source port,天然就是上游服务udp报文的dest ip和dest port。
这两个传输层协议天然就是原路返回的。