浏览 914
有一台IIS应用发布了OA系统,现在怎么通过Nginx反向代理实现。
按点赞数排序
按时间排序
有两种办法:
1、通过proxy_protocol协议
这个协议是在TCP字符流的最前端,添加一串描述真实IP地址的消息。其中,1.0协议是ASCII字符串消息,如果你用tcpdump抓包,很容易看到。2.0是二进制格式,也比较容易分析。
ngx_stream_proxy_module模块的proxy_protocol指令,就是用于设置后端连接的。当然,后端要能够处理这个协议才行。
如果后端也是Nginx,那么可以在listen指令后,添加proxy_protocol选项,也能拿到真实IP。
具体你可以参考我这门课《Nginx核心知识100讲》第113节课(可以免费学4节课):https://time.geekbang.org/course/detail/100020301-76735
2、通过修改IP报文中source ip实现
这种方法需要修改服务器上的网关,比较麻烦,副作用很大,你可以参考我这篇文章中,如何获取UDP中的真实IP地址:https://www.nginx-cn.net/article/76
我感觉这个说法有误,nginx用的是连接池,一个很大的数组而不是红黑树,大小就是woker_connections的数值。连接池是每个worker进程独立的,所以总连接数就是worker_processes*worker_connections