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 ...
随机推荐
- 进击的AssetBundles和它的工具们
0x00 前言 周末的时候在家看了下去年的Unite16 LA的视频.其中一个session很有趣,是AssetBundles开发团队Reichert的一个"总结过往,畅想未来"的 ...
- 总结两种动态代理jdk代理和cglib代理
动态代理 上篇文章讲了什么是代理模式,为什么用代理模式,从静态代理过渡到动态代理. 这里再简单总结一下 什么是代理模式,给某个对象提供一个代理对象,并由代理对象控制对于原对象的访问,即客户不直接操控原 ...
- 使用pycurl探测web服务质量
1:pycurl模块的安装方法 easy_install pycurl pip install pycurl 2:示例代码如下,是在python3下实现的,如若使用python2稍作修改即可 # -* ...
- 优化js脚本设计,防止浏览器假死
在Web开发的时候经常会遇到浏览器不响应事件进入假死状态,甚至弹出"脚本运行时间过长"的提示框,如果出现这种情况说明你的脚本已经失控了,必须进行优化. 为什么会出现这种情况呢,我们 ...
- 使用css3实现小菊花加载效果
使用css3实现小菊花加载效果 最常见的就是我们用到的加载动画.加载动画的效果处理的好,会给页面带来画龙点睛的作用,而使用户愿意去等待.而页面中最常用的做法是把动画做成gif格式,当做背景图或是img ...
- tomcat支持php
最近做项目遇到了问题,服务器是用的tomcat,而有用到php,就想在tomcat下面可以运行php,步骤如下: 1.下载php压缩包解压或者用wamp/xampp 我下载的是wamp,用的里面的ph ...
- SpringWeb增删改查
模型类: package com; public class Model { private int id; private String name; private String dtype; pr ...
- PHP+js实现图片上传,编辑
文件上传,点击按钮并选择文件后,文件会临时存到一个位置,会有一个临时名字: 然后在php文件中处理,给文件起名并将文件从临时为止搬到服务器,把需要的文件信息返回给前端页面: 最后表单提交时,把文件信息 ...
- 51nod_1836:战忽局的手段(期望)
题目链接 公式比较好推 精度好难搞啊@_@ 下面记笔记@_@ **** long double用%LF输出 **** __float128 精度比 long double 高(可以在中间运算时使用,输 ...
- 51nod_1298:圆与三角形(计算几何)
题目链接 判断圆和三角形是否相交 可以转化为 判断三条线段是否和圆相交 #include<iostream> #include<cstdio> #include< ...