Nginx 4层反向代理
L112
是基于TCP
POST_ACCEPT阶段 在建立连接后所做的事情
PREACCESS阶段 limit_conn 限流 与HTTP类似
ACCESS阶段 类似HTTP模块用于控制访问权限
SSL阶段 ssl请求
PREREAD阶段 ssl_preread 从头部取信息
CONTENT阶段 return,stream_proxy
LOG阶段 类似http log阶段
Syntax: | stream { ... } 提供指定流服务器指令的配置文件上下文 |
---|---|
Default: | — |
Context: | main |
Syntax: | server { ... } |
---|---|
Default: | — |
Context: | stream |
Syntax: | listen |
---|---|
Default: | — |
Context: | server |
模块 ngx_stream_return_module
Syntax: | return |
---|---|
Default: | — |
Context: | server |
需要编译进Nginx
http://nginx.org/en/docs/stream/ngx_stream_core_module.html
可以用 telnet 192.168.1.1 10004 方式查看数据
- worker_processes auto;
- error_log /var/log/nginx/error.log info;
- events {
- worker_connections ;
- }
- stream {
- upstream backend {
- hash $remote_addr consistent;
- server backend1.example.com: weight=;
- server 127.0.0.1: max_fails= fail_timeout=30s;
- server unix:/tmp/backend3;
- }
- upstream dns {
- server 192.168.0.1:;
- server dns.example.com:;
- }
- server {
- listen ;
- proxy_connect_timeout 1s;
- proxy_timeout 3s;
- proxy_pass backend;
- }
- server {
- listen 127.0.0.1: udp reuseport;
- proxy_timeout 20s;
- proxy_pass dns;
- }
- server {
- listen [::]:;
- proxy_pass unix:/tmp/stream.socket;
- }
- }
代码示列
- stream {
- log_format basic '$remote_addr [$time_local] '
- '$protocol $status $bytes_sent $bytes_received '
- '$session_time';
- error_log logs/stream_error.log debug;
- access_log logs/stream_access.log basic;
- server {
- listen proxy_protocol;
- return '10002 server get ip: $remote_addr!\n';
- }
- server {
- listen proxy_protocol;
- return '10003 server get ip: $remote_addr!\n';
- }
- server {
- #listen ;
- listen proxy_protocol;
- set_real_ip_from 127.0.0.1;
- allow 202.112.144.236;
- deny all;
- return '10004 vars:
- bytes_received: $bytes_received
- bytes_sent: $bytes_sent
- proxy_protocol_addr: $proxy_protocol_addr
- proxy_protocol_port: $proxy_protocol_port
- remote_addr: $remote_addr
- remote_port: $remote_port
- realip_remote_addr: $realip_remote_addr
- realip_remote_port: $realip_remote_port
- server_addr: $server_addr
- server_port: $server_port
- session_time: $session_time
- status: $status
- protocol: $protocol
- ';
- }
- }
Nginx 4层反向代理的更多相关文章
- Nginx 七层反向代理
目录 1.代理 2.正向代理 3.反向代理 4.Nginx 反向代理 5.Nginx 反向代理相关指令介绍 ①.listen ②.server_name ③.location ④.proxy_pass ...
- Nginx七层反向代理和负载均衡
1.介绍 1.1 Nginx不仅是一个出色的web软件,其七层代理和负载均衡也是相当出色.Nginx做前端代理,当用户请求服务时,可以根据url进行判断,然后分配到不同的后台webserver上. 1 ...
- 搭建Nginx七层反向代理
基于https://www.cnblogs.com/Dfengshuo/p/11911406.html这个基础上,在来补充下七层代理的配置方式.简单理解下四层和七层协议负载的区别吧,四层是网络层,负载 ...
- Nginx 部署、反向代理配置、负载均衡
Nginx 部署.反向代理配置.负载均衡 最近我们的angular项目部署,我们采用的的是Nginx,下面对Nginx做一个简单的介绍. 为什么选择Nginx 轻:相比于Apache,同样的web服务 ...
- 【转】Nginx服务器的反向代理proxy_pass配置方法讲解
[转]Nginx服务器的反向代理proxy_pass配置方法讲解 转自:http://www.jb51.net/article/78746.htm 就普通的反向代理来讲Nginx的配置还是比较简单的, ...
- nginx是一个反向代理的软件
nginx只是一个反向代理的软件,和语言无关,理论上支持任何Web平台,当然http://Asp.net也不例外,http://51aspx.com就是http://Asp.net开发的,前端暴漏的是 ...
- Nginx+Tomcat实现反向代理及动静分离
Nginx+Tomcat实现反向代理及动静分离 时间 2014-07-07 15:18:35 51CTO推荐博文 原文 http://yijiu.blog.51cto.com/433846/143 ...
- Nginx 之六: Nginx服务器的反向代理功能
一:Nginx作为正向代理服务器: 1.正向代理:代理(proxy)服务也可以称为是正向代理,指的是将服务器部署在公司的网关,代理公司内部员工上外网的请求,可以起到一定的安全作用和管理限制作用,正向代 ...
- 五、Nginx多Server反向代理配置
Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. server_name的匹配顺序 Nginx中的s ...
随机推荐
- git创建新分支
1.创建本地分支 git branch 分支名,例如:git branch 2.0.1.20120806 注:2.0.1.20120806是分支名称,可以随便定义. 2.切换本地分支 git ch ...
- Windows Community Toolkit 3.0 - CameraPreview
概述 Windows Community Toolkit 3.0 于 2018 年 6 月 2 日 Release,同时正式更名为 Windows Community Toolkit,原名为 UWP ...
- 内置函数二: map sorted filter
-----------生活里没有奇迹,大部分的时候奇迹是你自己创造的. # -------------------------------------------------------------- ...
- configure: error: cannot guess build type; you must specify one解决方法
原文地址:https://blog.csdn.net/hebbely/article/details/53993141 1.configure: error: cannot guess build t ...
- OO生存指.....抱歉无法生存
还记得前三次的设计策略:星期二之前实现功能,星期三找一下可能出现的小bug. 这三次以及变成了:星期二之前能跑出来就行. 总体来说设计策略是:先让几个线程能够顺利运行,再开始实现功能. 在接触到多线程 ...
- Nginx监控运维
Nginx是一个开源.免费.高性能的HTTP和反向代理服务器,也可以用于IMAP/POP3代理服务器.充分利用Nginx的特性,可以有效解决流量高并发请求.cc攻击等问题. 本文探讨了电商场景下Ngi ...
- ajax成功后XML 解析错误:格式不佳
就是Ajax发送请求后,意图回显数据时会出现这个错误,貌似chrome浏览器不会报用火狐能看到: 可能的原因有两个,就是后台应该返回一个json格式的字符串,但是你返回的是浏览器看不懂的,也就是返回格 ...
- hdu5943素数间隙与二分匹配
题意: 给出n和s,匹配(s+1,s+2,s+3......s+n)和(1,2,3,4,5........n)让(s+x)%x==0,判断是否有解 思路: 先用程序跑一边,发现1到1e9得素数间隙小于 ...
- Jury Meeting CodeForces - 854D (前缀和维护)
Country of Metropolia is holding Olympiad of Metrpolises soon. It mean that all jury members of the ...
- Golang开发工具LiteIDE使用方法整理
安装 参考github的说明 添加GOPATH 创建workspace 创建新文件 运行程序 Liteide中运行程序有两种方式: FR(FileRun)是编译并运行单个文件,可以使用Shift + ...