Nginx支持TCP端口转发

有个接口是通过socket通信,对端服务器访问存在IP限制,只好通过跳板机,因为它具备访问对端服务器的权限。nginx1.9开始支持tcp层的转发,通过stream实现的,而socket也是基于tcp通信。

  • 安装nginx,stream模块默认不安装的,需要手动添加参数:–with-stream,官方下载地址:download,根据自己系统版本选择nginx1.9或以上版本

    • nginx.conf 配置,参考说明:ngx_stream_core_module
    • nginx.conf (请注意,stream配置不能放到http内,即不能放到/etc/nginx/conf.d/,因为stream是通过tcp层转发,而不是http转发)
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
.................
}# tcp层转发的配置文件夹include /etc/nginx/tcp.d/*.conf;
  • 请注意,stream配置不能放到http内,即不能放到/etc/nginx/conf.d/,因为stream是通过tcp层转发,而不是http转发
stream {# 添加socket转发的代理upstream socket_proxy {hash $remote_addr consistent;# 转发的目的地址和端口server 192.168.1.100:9000 weight=5 max_fails=3 fail_timeout=30s;}# 提供转发的服务,即访问localhost:9001,会跳转至代理socket_proxy指定的转发地址server {listen 9001;proxy_connect_timeout 1s;proxy_timeout 3s;proxy_pass socket_proxy;}
}  
  • 重启nginx,访问localhost:9001,会跳转到socket_proxy指定的转发地址192.168.1.100:9000

Nginx支持TCP端口转发相关推荐

  1. Nginx之TCP端口转发

    场景:很多企业业务都在云上,数据库端口基本不会对外开放.开发.测试人员经常会有通过外网去访问数据库的需求,此时我们可以利用nginx的端口转发功能来实现. 前提条件 :Nginx实现TCP端口转发,需 ...

  2. java实现端口映射_Java BIO实现TCP端口转发(端口映射)功能源码

    开发环境及开发目标说明: 开发背景:为了网络的安全,工作的网络环境的变得比较复杂,很多主机的端口一定程度上的受到了保护,需要从能访问到的中间机器做跳转. 开发环境:JDK1.6 + Eclipse4. ...

  3. nginx实现数据库端口转发

    要利用Nginx实现MYSQL端口转发,需要依赖stream模块,用来做tcp端口转发, Nginx在编译安装时需要加上 --with-stream --with-stream_ssl_module ...

  4. Windows安装nginx并配置端口转发

    Windows安装nginx并配置端口转发 1.场景 在VMware虚拟机中启动了几个Linux,采用的是NAT网络配置,所以另一个Windows访问无法进行ssh或者其它应用的访问 2.安装 2.1 ...

  5. nginx实现ip端口转发_配置Nginx实现端口转发

    #### 三.更改 Nginx 配置文件实现端口转发 1. 打开第二步中创建的 File Browser 网站([公网ip:端口]()),账号密码为 **admin/admin**,登录到 File ...

  6. SSH远程登录和TCP端口转发

    文章目录 1. SSH远程登录 1.1 密码验证 1.2 公钥认证 1.2.1 生成密钥对 1.2.2 复制公钥到服务器 1.2.3 远程登录 2. TCP转发 2.1 JVM远程调试 Securit ...

  7. 使用nginx做数据库端口转发

    出于数据安全性考虑,正常情况下,网站或者项目的数据库一般都是禁止外网访问,或者只允许部分主机访问.那么,如何才能不修改这类权限的前提下,让其他被禁止访问的主机也能访问这个数据库呢.这时,Nginx的作 ...

  8. 轻量级 TCP 端口转发工具:rinetd

      TCP 端口转发的工具太多了,如:SSH.iptables.firewall.ncat.socat.portmap 等,为什么要说 rinetd,因为它使用很简单,对于简单的小服务来说非常的友好. ...

  9. nginx实现ip端口转发_Nginx实现端口转发

    只想看如何做请求转发的直接跳到「解决方案」 我在上@xiangzepro翔仔老师的java课程时,其中有一章需要验证微信服务器,又涉及到代码的远程调试.因为以下一些问题会造成我们在部署时的麻爪:微信公 ...

最新文章

  1. 创建代码生成器可以很简单:如何通过T4模板生成代码?[下篇]
  2. php hash代码下载,PHP中的哈希表 hash_insert
  3. nginx备忘录,错误a duplicate default server for 0.0.0.0:80
  4. Lisp获取偏置后对象的坐标点_三坐标测量基础知识2020
  5. ruby基本语法(2)
  6. golang利用反射写入excel的简单工具类
  7. 如何在CentOS 7上安装Varnish Cache
  8. xp系统qq安装不上网络连接服务器,windows xp系统不能登录qq的解决方法
  9. pro缺点和不足 一加7t_看点满满,一用难忘:一加7T上手体验全方位测评
  10. php数字验证码代码,php中文字母数字验证码实现代码
  11. SCI、EI、ISTP收录检索技巧及核心期刊投稿导引
  12. 图片裁剪源代码+php,php进行图片裁剪及生成缩略图程序源代码
  13. 计算机专业申请phd美国,揭秘美国大学计算机专业PHD申请难度有多大
  14. Word文档保护怎么取消
  15. Windows Server - NIC Teaming
  16. 计算机win10装机目的,win10装机版是什么意思
  17. Redis异地多活原理简介
  18. Android 解决65536
  19. 使用JqueryEasyUI进行页面布局
  20. Python中的文件路径

热门文章

  1. Electron主进程和渲染进程之间通信
  2. ipa在线安装搭建_iOS12.4.1 越狱无法安装?教你百分百安装
  3. oracle 11g 更改sid和dbname
  4. c盘内存不足怎么清理(如何清理电脑c盘空间)
  5. 人工智能 - A*算法解决迷宫问题 附源码和可视化显示
  6. Java实战之管家婆记账系统(8)——添加账目界面及功能实现
  7. 基于深度学习的文本分类6大算法-原理、结构、论文、源码打包分享
  8. git pull 时一直卡在Unpacking objects【待解决】
  9. 非对称加密和对称加密的优缺点
  10. 2023年Java面试题大全(最新版版)面试题附答案详解,看完BTA可进