92.与上游服务建立连接
1)proxy_pass订立反向代理,开始生效
2)一些指令定义发向上游服务器的内容
3)接收完整的请求body,如果请求有body
4)与上游建立连接,把请求发送给上游
(1)向上游服务建立连接
Syntax: proxy_connect_timeout time;
Default:
proxy_connect_timeout 60s;
Context: http, server, location
控制TCP握手时间
nginx没有与上游服务建立连接:502
超时后,回向客户端生成http响应,响应码502
(2)当出现错误换一个上游服务器继续处理
Syntax: proxy_next_upstream error | timeout | invalid_header | http_500 | http_502 | http_503 | http_504 | http_403 | http_404 | http_429 | non_idempotent | off ...;
Default:
proxy_next_upstream error timeout;
Context: http, server, location
(3)上有连接启用 tcp keepalive
Syntax: proxy_socket_keepalive on | off;
Default:
proxy_socket_keepalive off;
Context: http, server, location
数据包传输过程时.设置一段时常,如果没有响应,发送探测包去探测,看一看对端是否在建立连接
TCP keeplive是操作系统实现的.目的:把一些不使用的连接及时关闭,减少资源浪费
(4)上游连接启用http keepalive
Syntax: keepalive connections;
Default: —
Context: upstream
Syntax: keepalive_requests number;
Default:
keepalive_requests 100;
Context: upstream
(5)修改TCP连接中的local address
Syntax: proxy_bind address [transparent] | off;
Default: —
Context: http, server, location
[1]当nginx上游有多个ip地址,有多个路由策略不同.不使用系统默认ip地址.主动选择ip地址
[2]透传ip地址
可以使用变量:
- proxy_bind $remote_addr;
可以使用不属于所在机器的IP地址:
- proxy_bind $remote_addr transparent;
(linux操作系统需要transparent,非linux系统worker进程需要有root权限)
修改source ip addr
(6)当客户端关闭连接时
当上游client异常关闭连接,porxy是否忽略.client与nginx已经关闭,nginx与上游服务连接正常工作
Syntax: proxy_ignore_client_abort on | off;
Default:
proxy_ignore_client_abort off;
Context: http, server, location
(7)向上游发送http请求
Syntax: proxy_send_timeout time;
Default:
proxy_send_timeout 60s;
Context: http, server, location
ngx与上游建立连接,并把请求发送给上游
92.与上游服务建立连接相关推荐
- Android应用程序与SurfaceFlinger服务的连接过程分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/7857163 前文在描述Android应用程序和 ...
- Android应用程序窗口(Activity)与WindowManagerService服务的连接过程分析
在前两文中,我们分析了Activity组件的窗口对象和视图对象的创建过程.Activity组件在其窗口对象和视图对象创建完成之后,就会请求与WindowManagerService建立一个连接,即请求 ...
- Windows7 打开任务计划提示“任务计划程序服务不可用。任务计划程序将尝试重新与其建立连接。”解决办法
不知什么原因,Windows7系统进入"控制面板"----"管理工具"----"任务计划程序"时,提示"任务计划程序服务不可用.任 ...
- 2. ZK客户端与服务端建立连接的过程(基于NIO)
ZK客户端与服务端建立连接的过程 引例 1. 启动SendThread 2. 状态初始化 3. 开始连接 4. 处理服务端连接响应 5. 流程图 在上一篇<客户端启动源码分析>文章中讲到了 ...
- 因为未将计算机与远程服务,win7提示错误797未建立到远程访问服务的连接怎么办...
网络连接不上有各种各样的原因,我们可以通过得到的错误代码来找到故障的原因.最近有些win7 32位系统的用户在使用宽带连接上网的时候出现了错误797未建立到远程访问服务的连接,因为找不到调制解调 ...
- ZooKeeper客户端源码(一)——向服务端建立连接+会话建立+心跳保持长连接
首发CSDN:徐同学呀,原创不易,转载请注明源链接.我是徐同学,用心输出高质量文章,希望对你有所帮助. 一.从ZooKeeper实例初始化开始 ZooKeeper 提供了原生的客户端库,虽然不好用,但 ...
- 网页如何与mysql服务器建立连接不上,html与mysql建立连接数据库
html与mysql建立连接数据库 内容精选 换一换 云数据库 GaussDB(for MySQL)是华为云提供的一款安全.可信的数据库服务.GaussDB(for MySQL)秉承华为云对租户的安全 ...
- 已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: SSL Provider, error: 0 - 接收到的消息异常,或格式不正确。)...
之前做好的asp.net部署后,发现 访问数据库时: 异常:已捕获: "已成功与服务器建立连接,但是在登录过程中发生错误. (provider: SSL Provider, error: 0 ...
- golang mysql 超时_golang中mysql建立连接超时时间timeout 测试
本文测试连接mysql的超时时间. 这里的"连接"是建立连接的意思. 连接mysql的超时时间是通过参数timeout设置的. 1.建立连接超时测试 下面例子中,设置连接超时时间为 ...
最新文章
- Python未来的发展趋势怎么样
- UITableVeiw相关的需求解决
- mysql mydumper_采用mydumper对MySQL部分数据库进行热备
- 2.Azure资源组迁移
- C# 委托(Delegate)
- mlflow_使用MLflow跟踪进行超参数调整
- 深入AsyncTask
- UVA10190 Divide, But Not Quite Conquer!【等差数列】
- Multisim14 - 运行10版本文件时数码管一直显示为0的问题
- java中数组集合存放位置_java中数组以及集合
- lisp ssget 浩辰_ssget 详解
- PowerBI-日期和时间函数-YEAR\QUARTER\MONTH\DAY
- USB转TTL、USB转RS232的实现
- 分布式文件存储MinIO SeaweedFS FastDFS对比总结
- 网络游戏通讯引擎,高性能IOCP模型(.Net)
- H5 嵌入条码和二维码生成
- shell双引号、单引号、反撇号的使用
- 华为od 研发岗一手笔试题
- 艺赛旗RPA 网页处理系列(三):网页检查 / 审查小技巧
- firefox同步mac和win