Nginx 在1.9版本后新增TCP/UDP 代理

Nginx默认是没有开启TCP/UDP代理。需要在编译Nginx是添加--with-stream进行开启。

编译安装Nginx

  1. tar zxf cd nginx-1.16.1.tar.gz
  2. cd nginx-1.16.1/
  3. ./configure --user=www --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre --with-stream
  4. make
  5. make install
  1. 修改nginx.conf配置文件
  1. user www www;
  2. worker_processes ;
  3. error_log /data/log/nginx_log/nginx_error.log notice;
  4. pid /usr/local/nginx/sbin/nginx.pid;
  5. worker_rlimit_nofile ;
  6. events
  7. {
  8. use epoll;
  9. worker_connections ;
  10. }
  11. http
  12. {
  13. include mime.types;
  14. default_type application/octet-stream;
  15. charset utf-;
  16. server_tokens off;
  17. server_names_hash_bucket_size ;
  18. client_header_buffer_size 512k;
  19. large_client_header_buffers 512k;
  20. client_max_body_size 100m;
  21. proxy_ignore_client_abort on;
  22. sendfile on;
  23. tcp_nopush on;
  24. keepalive_timeout ;
  25. keepalive_requests ;
  26. fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=: keys_zone=TEST:10m inactive=30d max_size=3096m;
  27. fastcgi_connect_timeout ;
  28. fastcgi_send_timeout ;
  29. fastcgi_read_timeout ;
  30. fastcgi_buffer_size 4k;
  31. fastcgi_buffers 4k;
  32. fastcgi_busy_buffers_size 8k;
  33. fastcgi_temp_file_write_size 8k;
  34. # fastcgi_cache TEST;
  35. fastcgi_cache_valid 1h;
  36. fastcgi_cache_valid 1d;
  37. fastcgi_cache_valid any 1m;
  38. fastcgi_cache_min_uses ;
  39. fastcgi_cache_use_stale error timeout invalid_header http_500;
  40. open_file_cache max= inactive=20s;
  41. open_file_cache_min_uses ;
  42. open_file_cache_valid 60s;
  43. tcp_nodelay on;
  44. gzip on;
  45. gzip_min_length 1k;
  46. gzip_buffers 64k;
  47. gzip_http_version 1.1;
  48. gzip_comp_level ;
  49. gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
  50. gzip_vary on;
  51. log_format access '$remote_addr - $remote_user [$time_local] "$request" '
  52. '"$status" $body_bytes_sent "$http_referer" '
  53. '"$http_user_agent" "$http_x_forwarded_for" '
  54. '"$upstream_addr" "$upstream_status" "$request_time" "$upstream_response_time" $bytes_sent $request_length';
  55.  
  56. include /usr/local/nginx/conf/vhosts/*.conf;
  57. }
  58.  
  59. stream
  60. {
  61. include /usr/local/nginx/conf/ports/*.conf;
  62. }

 由于http 和 stream是两个不同的模块,所以不能写在一些
   在http下面新增stream的配置信息

  1. 编写代理ports配置文件
  1. 代理UDP文件:
  2. vi /usr/local/nginx/conf/ports/udp.conf
  3. upstream backend {
  4. server 192.168.6.110:;
  5. }
  6. server {
  7. listen udp reuseport;
  8. proxy_connect_timeout 8s;
  9. proxy_timeout 24h; #代理超时
  10. proxy_pass backend;
  11. proxy_responses ;
  12. }
  1. 代理TCP
  1. upstream backend {
  2. server 10.7.2.86:1521;
  3. }
  4. server {
  5. listen 8686;
  6. proxy_connect_timeout 8s;
  7. proxy_timeout 24h; #代理超时
  8. proxy_pass backend;
  9. }  

启动Nginx,进行测试  

  1.  
  2.  

Nginx 代理TCP/UDP 端口的更多相关文章

  1. Nginx基于TCP/UDP端口的四层负载均衡(stream模块)配置梳理

    通过我们会用Nginx的upstream做基于http/https端口的7层负载均衡,由于Nginx老版本不支持tcp协议,所以基于tcp/udp端口的四层负载均衡一般用LVS或Haproxy来做.至 ...

  2. 二十.Nginx反向代理、Nginx的TCP/UDP调度器、Nginx常见问题处理

    proxy client web1 web2 1.nginx反向代理   使用Nginx实现Web反向代理功能,实现如下功能:   后端Web服务器两台(web1 192.168.2.100 web2 ...

  3. iperf测试流量转发(nginx反向代理tcp/udp)

    一.准备工作 服务器1:192.168.33.102     搭建nginx服务,作为反向代理的中转站 服务器2:192.168.33.103    nginx要反向代理的服务器 服务器3:192.1 ...

  4. Nginx代理tcp端口实现负载均衡

    Nginx代理tcp端口实现负载均衡 1.修改配置文件 vi /etc/nginx/nginx.conf 添加如下配置: stream { ###XXX upstream notify {   has ...

  5. TCP/UDP端口列表

    http://zh.wikipedia.org/wiki/TCP/UDP%E7%AB%AF%E5%8F%A3%E5%88%97%E8%A1%A8 TCP/UDP端口列表     本条目可通过翻译外语维 ...

  6. [转帖]使用Nginx转发TCP/UDP数据

    使用Nginx转发TCP/UDP数据 https://www.cnblogs.com/guigujun/p/8075620.html 编译安装Nginx 从1.9.0开始,nginx就支持对TCP的转 ...

  7. 常用的TCP/UDP端口

    已知的TCP/UDP端口可以在wikipedia上找到: List of TCP and UDP port numbers, 太多了,按组列举了最常用的,如下: FTP:21SSH:22Telnet: ...

  8. Nginx反向代理,Nginx的TCP/UDP调度器以及Nginx常见问题处理

    nginx反向代理: 方案 使用4台RHEL7虚拟机,其中一台作为Nginx代理服务器,该服务器需要配置两块网卡,IP地址分别为192.168.4.5和192.168.2.5,两台Web服务器IP地址 ...

  9. TCP/UDP端口列表(WIKIpedia)

    计算机之间依照互联网传输层TCP/IP协议不同的协议通信,都有不同的对应端口.所以,利用短信(datagram)的UDP,所采用的端口号码不一定和采用TCP的端口号码一样.以下为两种通信协议的端口列表 ...

随机推荐

  1. 8.1.Zookeeper概念简介

    1.分布式系统概述 理解1: 分布式系统:分布式系统是针对一个大系统而言,将一个大系统分成多个子系统,即多个工程系统. 我们先看下传统的系统模式:    传统的系统模式将多个功能模块全部在一个工程中写 ...

  2. java-消息队列相关-activeMQ

    ,1,如何防止activeMQ崩溃导致消息丢失呢? 第一点,首先消息需要使用持久化消息,服务挂掉,重启服务后消息依然可以消费,不会丢失: 第二点,ActiveMQ采用主从模式搭建集群,比如搭建3台主从 ...

  3. 23_2spring的常用注解

    1.基于注解的IOC配置 1.1导入jar包 <?xml version="1.0" encoding="UTF-8"?> <project ...

  4. 单调队列优化&&P1886 滑动窗口题解

    单调队列: 顾名思义,就是队列中元素是单调的(单增或者单减). 在某些问题中能够优化复杂度. 在dp问题中,有一个专题动态规划的单调队列优化,以后会更新(现在还是太菜了不会). 在你看到类似于滑动定长 ...

  5. es6 模块编译 *** is not function

    今天学习vuejs,里面用到了es6的写法,遇到了一个很怪的问题,不知道有人遇到么. 安装的模块引用:import Vue from 'vue';(注意,Vue处没有{},如果加上这个就报错Uncau ...

  6. Python之hashlib模块的使用

    hashlib模块主要的作用: 加密保护消息安全,常用的加密算法如MD5,SHA1等. 1.查看可用的算法有哪些 #!/usr/bin/env python # -*- coding: utf-8 - ...

  7. jquery keyup()方法 语法

    jquery keyup()方法 语法 作用:完整的 key press 过程分为两个部分,按键被按下,然后按键被松开并复位.当按钮被松开时,发生 keyup 事件.它发生在当前获得焦点的元素上.ke ...

  8. python随机生成库faker库api详解

    # -*- coding: utf-8 -*- # @Author : FELIX # @Date : 2018/6/30 9:49 from faker import Factory # zh_CN ...

  9. 深度学习笔记(十一)网络 Inception, Xception, MobileNet, ShuffeNet, ResNeXt, SqueezeNet, EfficientNet, MixConv

    1. Abstract 本文旨在简单介绍下各种轻量级网络,纳尼?!好吧,不限于轻量级 2. Introduction 2.1 Inception 在最初的版本 Inception/GoogleNet, ...

  10. 一、基本的bash shell命令(基于Ubuntu实现)

    一.基本的bash shell命令(基于Ubuntu实现) /etc/passwd文件包含了所有系统用户账户列表以及每个用户的基本配置信息. man命令 在想要查找的工具的名称前输入man命令,就可以 ...