Nginx代理TCP服务
利用nginx代理tpc
部署nginx
安装编译所需环境
# yum install -y apr-devel apr-util-devel pcre-devel openssl-devel
添加www用户,用于给nginx服务器运行使用
# useradd -s /sbin/nologin -M www
下载nginx的源码包,编译安装nginx
# cd /usr/local/src/ && wget -c http://nginx.org/download/nginx-1.12.0.tar.gz
解压nginx-1.12.0
# tar -zxvf nginx-1.12.0.tar.gz
官方文档地址
http://nginx.org/en/docs/stream/ngx_stream_core_module.html
切换到nginx的解压目录
# cd nginx-1.12.0/
检测编译环境,编译安装nginx-1.12.0实现代理端口等功能,需要指定--with-stream的编译参数
# ./configure --prefix=/usr/local/nginx-1.12.0 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-file-aio --with-stream
编译安装nginx
# make -j 2 && make install
最佳实现方式,创建软连接
# ln -sv /usr/local/nginx-1.12.0/ /usr/local/nginx
编辑nginx.conf配置文件
# vim /usr/local/nginx-1.12.0/conf/nginx.conf
在配置文件中最外层添加如下内容,代理本机(192.168.1.3)的8888端口,通过8888端口远程链接到192.168.1.5的节点
stream {
upstream tcp_proxy {
hash $remote_addr consistent;
server 192.168.1.5:22 max_fails=3 fail_timeout=30s;
}
server {
listen 8888 so_keepalive=on;
proxy_connect_timeout 10s;
proxy_timeout 300s;
proxy_pass tcp_proxy;
}
}
注意:
so_keepalive=on 设置长链接(如需不用,可以删除)
proxy_timeout 与后端的过期时间
检查配置文件是否正确
# /usr/local/nginx/sbin/nginx -t
启动nginx服务
# /usr/local/nginx/sbin/nginx
效果图,通过nginx实现代理本机的8888端口去远程链接192.168.1.5 22号端口的ssh服务

Nginx代理TCP服务的更多相关文章
- Nginx代理tcp端口实现负载均衡
Nginx代理tcp端口实现负载均衡 1.修改配置文件 vi /etc/nginx/nginx.conf 添加如下配置: stream { ###XXX upstream notify { has ...
- 12、Nginx代理缓存服务
通常情况下缓存是用来减少后端压力, 将压力尽可能的往前推, 减少后端压力,提高网站并发延时 1.缓存常见类型 服务端缓存 代理缓存, 获取服务端内容进行缓存 客户端浏览器缓存 Nginx代理缓存原理 ...
- nginx 代理tcp长连接短连接配置
https://blog.csdn.net/tayinyinyueyue/article/details/78932697 nginx使用ngx_stream_core_module模块代理tcp长连 ...
- nginx代理tcp请求
1.概述 ngx_stream_core_module 这个module在nginx1.90后开始支持.开启nginx的tcp代理支持--with-stream=dynamic --with-stre ...
- Nginx 代理TCP/UDP 端口
Nginx 在1.9版本后新增TCP/UDP 代理 Nginx默认是没有开启TCP/UDP代理.需要在编译Nginx是添加--with-stream进行开启. 编译安装Nginx tar zxf cd ...
- nginx - 反向代理 - 配置文件模板 - nginx 代理tcp的服务 - 部署示意图
danjan01deiMac:~ danjan01$ cat /usr/local/etc/nginx/nginx.conf|grep -v '^$' worker_processes 1; even ...
- nginx代理tcp协议连接mysql
阅读目录 一.mariadb安装及配置 1.1 在192.168.182.155安装mariadb 1.2 配置MariaDB的字符集 1.3 添加用户,设置权限 1.4 防火墙设置 二.nginx ...
- nginx代理TCP端口
1.升级nginx 版本至1.9.0以上 升级流程参考 nginx平滑升级 2.配置编译的时候需要加上 ./configure --prefix=/usr/local/nginx --user=www ...
- Nginx代理后服务端使用remote_addr获取真实IP
直奔主题,在代理服务器的Nginx配置(yourWebsite.conf)的location /中添加: #获取客户端IP proxy_set_header Host $host; proxy_set ...
随机推荐
- Vue 实际项目中你可能会遇见的坑
纸上得来终觉浅,绝知此事要躬行! Vue的文档和教程看的太多,小的demo做的多,也不如自己实际的进行一个完整项目的开发.只有做了才知道原来问题这么多,这里列举了一些你做demo教程可能不会遇见的坑. ...
- Oracle查询多行数据合并成一行数据
例如: select base_id, translate (ltrim (text1, '/'), '*/', '*,') xmmc,translate (ltrim (text2, '/'), ' ...
- 取一个整数a从右端开始的4~7位
题目:取一个整数a从右端开始的4-7位. 程序分析:可以这样考虑: (1)先使a右移4位. (2)设置一个低4位全为1,其余全为0的数.可用~(~0 < <4) (3)将上面二者进行&am ...
- Linux Redis自动启动,Redis开机启动,Linux Redis设置开机启动
Linux Redis自动启动,Redis开机启动,Linux Redis设置开机启动 >>>>>>>>>>>>>> ...
- *更新*无需root,一条命令强制全屏模式
未root的系统,必须通过pc端运行adb命令进行设置,因此请开启开发者选项中的adb调试模式,用usb连接电脑和手机,运行下面的代码强制开启全屏模式,立即生效:全屏沉浸: adb shell set ...
- (转) 使用jdk的xjc命令由schema文件生成相应的实体类
背景:在webservice的开发过程中涉及到这一知识点,又必要来学习一下. 1 根据编写的schema来生成对应的java实体 1.1 实战 xcj命令有schema文件生成Java实体类 1.使用 ...
- (转)Java compiler level does not match解决方法
背景:工作中导入以前的项目,导出报Java compiler level does not match the versionof the installed Java project facet. ...
- 懵懂oracle之存储过程3--JOB详解
在前面学习了存储过程的开发.调试之后,我们现在就需要来使用存储过程了.简单的使用,像上篇<懵懂oracle之存储过程2>中提到的存储过程调用,我们可以将写好的存储过程在另一个PL/SQL块 ...
- common js CMD/AMD 是什么 和他们之间的联系区别
知道JS有模块化开发的说法,也偶尔听过requireJs,AMD,CMD等等名字,甚至使用node的时候,还用过require之类的方法,但是对这些一直没有一个明确的认识和概念.想必这就是许多新手刚接 ...
- Azure 认知服务 (4) 计算机视觉API - 读取图片中的文字 (OCR)
<Windows Azure Platform 系列文章目录> 微软Azure认知服务的计算机视觉API,还提供读取图片中的文字功能 在海外的Windows Azure认知服务的读取图片功 ...