Nginx TCP代理的问题
设备使用1883端口通过nginx 的TCP/UDP 代理转发到后台服务器,
后台服务器查看设备的socket的ip 是代理服务器的ip,而不是设备的实际IP,
怎么实现透明代理,让nginx 代理把设备的实际ip连接后台服务器呢?
备注:
设备连接时拿不到自己的ip,所以不要往这点去想
是TCP/UDP代理,不是http
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
nginx支持tcp转发,同时可以设置 proxy_protocol on;这个参数,从而后台可以解析出client的ip.
https://docs.nginx.com/nginx/...
Nginx Stream Module
The ngx_stream_core_module module is available since version 1.9.0. This module is not built by default, it should be enabled with the --with-stream configuration parameter.
这个模块不在默认构建之前,安装nginx时需要增加
--with-stream
配置。示例程序
你好,我也遇到了相同的问题。请问你的问题解决了吗