nginx 与上游服务器建立连接的相关设置
向上游服务建立联系
- Syntax: proxy_connect_timeout time; #设置TCP三次握手超时时间,默认60秒;默认超时后报502错误
- Default: proxy_connect_timeout 60s;
- Context: http, server, location
超时更换上游服务器处理请求
- Syntax: proxy_next_upstream http_502 | ..;
- Default: proxy_next_upstream error timeout;
- Context: http, server, location
上游连接启用TCP keepalive的长连接
- Syntax: proxy_socket_keepalive on | off;
- Default: proxy_socket_keepalive off;
- Context: http, server, location
上游连接启用http长连接
- Syntax: keepalive connections;
- Default: —
- Context: upstream
- Syntax: keepalive_requests number;
- Default: keepalive_requests 100;
- Context: upstream
修改tcp连接中的local address
- Syntax: proxy_bind address [transparent] | off;
- Default: —
- Context: http, server, location
- 可以使用的变量
- proxy_bind $remote_addr;
- 可以使用不属于所在机器的IP
- proxy_bind $remote_addr transparent;
当客户端关闭连接时
- Syntax: proxy_ignore_client_abort on | off;
- Default: proxy_ignore_client_abort off;
- Context: http, server, location
向上游服务发送HTTP请求;超时时间
- Syntax: proxy_send_timeout time;
- Default: proxy_send_timeout 60s;
- Context: http, server, location
接收上游服务器HTTP响应头部
- Syntax: proxy_buffer_size size; #设置接收上游服务的头部最大值
- Default: proxy_buffer_size 4k|8k;
- Context: http, server, location
接收上游服务器HTTP包体大小
- Syntax: proxy_buffers number size; # 接收上游服务器响应包大小内存设置
- Default: proxy_buffers 8 4k|8k;
- Context: http, server, location
接收上游服务器的包体
- Syntax: proxy_buffering on | off; X-Accel-Buffering 头部
- Default: proxy_buffering on; #接收完完整的响应包在在响应给客户端
- Context: http, server, location
- Syntax: proxy_max_temp_file_size size; #设之上游服务器响应包过大,后存入磁盘文件。文件大小的设置
- Default: proxy_max_temp_file_size 1024m;
- Context: http, server, location
- Syntax: proxy_temp_file_write_size size; # 每一次向磁盘写入的字节数
- Default: proxy_temp_file_write_size 8k|16k;
- Context: http, server, location
- Syntax: proxy_temp_path path [level1 [level2 [level3]]];# 设置存储文件的目录的路径
- Default: proxy_temp_path proxy_temp;
- Context: http, server, location
及时转发的包体
- Syntax: proxy_busy_buffers_size size; #虽然设置缓存上游服务器的响应报文;但也可以接缓存一部分时就发送给客户
- Default: proxy_busy_buffers_size 8k|16k;
- Context: http, server, location
接收上游服务器网络速率相关指令
- Syntax: proxy_read_timeout time; #两次读取超时时间
- Default: proxy_read_timeout 60s;
- Context: http, server, location
- Syntax: proxy_limit_rate rate; #限制读取上游服务的响应
- Default: proxy_limit_rate 0;
- Context: http, server, location
上游包体的持久化
- Syntax: proxy_store_access users:permissions ...; #从上游服务接收文件存入本地文件权限的配置方法
- Default: proxy_store_access user:rw;
- Context: http, server, location
- Syntax: proxy_store on | off | string; # on的话会存到root对应的目录下;off不开启,string通过变量重新指定存放目录
- Default: proxy_store off;
- Context: http, server, location
配置
- [root@python vhast]# cat shangyou.conf
- server {
- listen 8011;
- default_type text/plain;
- return 200 '8011 server response.\n';
- }
- server {
- listen 8012;
- default_type text/plain;
- root html;
- location /{
- }
- location /test {
- return 200 '8012 server response.
- uri: $uri
- method: $request_method
- requset: $request
- http_name: $http_name
- \n';
- }
- }
- [root@python vhast]# cat proxy_method.conf
- upstream haha{
- #ip_hash;
- #hash user_$arg_username;
- #server 127.0.0.1:8011;
- server 127.0.0.1:8012;
- #keepalive 32;
- }
- server {
- server_name proxy_pass.com;
- error_log rrups_error.log info;
- proxy_set_header Connection "";
- root /tmp;
- location /{
- #proxy_pass http://rrups/addurl;
- proxy_pass http://haha;
- proxy_store on;
- proxy_store_access user:rw group:rw all:r;
- }
- }
- [root@python vhast]# echo "qwertyuopuughgbbvvbaaa" > ../../html/a.txt
- [root@python vhast]# ll /tmp/
- 总用量 0
- drwx------. 3 root root 17 7月 5 12:35 systemd-private-1c111c1c3c844bb594508d0cf90d1752-chronyd.service-YE54pH
- drwx------. 3 root root 17 7月 8 12:40 systemd-private-24aea6f6d72d4605a59e86dc56dacf2a-chronyd.service-1Ocoyt
- drwx------. 3 root root 17 7月 9 12:05 systemd-private-d838c8aa5ea24b2d88e0e1c546dadbcf-chronyd.service-wNkAsB
测试
- [root@python vhast]# curl proxy_pass.com/a.txt
- qwertyuopuughgbbvvbaaa
- [root@python vhast]# ll /tmp/
- 总用量 4
- -rw-rw-r--. 1 nginx nginx 23 7月 12 22:07 a.txt
- drwx------. 3 root root 17 7月 5 12:35 systemd-private-1c111c1c3c844bb594508d0cf90d1752-chronyd.service-YE54pH
- drwx------. 3 root root 17 7月 8 12:40 systemd-private-24aea6f6d72d4605a59e86dc56dacf2a-chronyd.service-1Ocoyt
- drwx------. 3 root root 17 7月 9 12:05 systemd-private-d838c8aa5ea24b2d88e0e1c546dadbcf-chronyd.service-wNkAsB
nginx 与上游服务器建立连接的相关设置的更多相关文章
- 【转】SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误
SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误 最近在VS2013上连接远程数据库时,突然连接不上,在跑MSTest下跑的时候,QTAgent32 crash.换成IIS ...
- Nginx 当上游服务器返回失败时的处理办法
陶辉95课 Syntax: proxy_next_upstream error | timeout | invalid_header | http_500 | http_502 | http_503 ...
- Sql server2012连接Sql server 2008时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误。(provider:SSL Provider,error:0-接收到的消息异常,或格式不正确。)
以前连接是正常的,就这两天连不上了.(没有耐心的直接看末尾解决办法) 错误消息如下: 1.尝试读取或写入受保护的内存.这通常指示其他内存已损坏.(System.Data) 2.已成功与服务器建立连接, ...
- 已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL Provider, error: 0 - 等待的操作过时)
今天忽然间发现远程连接别人数据库会出现 已成功与服务器建立连接,但是在登录前的握手期间发生错误. (provider: SSL Provider, error: 0 - 等待的操作过时) 这种情况 ...
- SQLServer 2012 已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL Provider, error: 0 - 等待的操作过时。
楼主用SQL Server 2012 在连接其他电脑的实例时,一直提示“已成功与服务器建立连接,但是在登录前的握手期间发生错误. (provider: SSL Provider, error: 0 - ...
- 已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: SSL Provider, error: 0 - 接收到的消息异常,或格式不正确。)
之前做好的asp.net部署后,发现 访问数据库时: 异常:已捕获: "已成功与服务器建立连接,但是在登录过程中发生错误. (provider: SSL Provider, error: 0 ...
- vs 或 Sql server2012连接Sql server时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误
以前连接是正常的,就这两天连不上了.(没有耐心的直接看末尾解决办法) 错误消息如下: 1.尝试读取或写入受保护的内存.这通常指示其他内存已损坏.(System.Data) 2.已成功与服务器建立连接, ...
- SQL Server(解决问题)已成功与服务器建立连接,但是在登录过程中发生错误。(provider: Shared Memory Provider, error:0 - 管道的另一端上无任何进程。
http://blog.csdn.net/github_35160620/article/details/52676416 如果你在使用新创建的 SQL Server 用户名和密码 对数据库进行连接的 ...
- 使用Websocket与服务器建立连接
handleMessage = () => { const url = '////'; //某url const token = getCookie('xnToken');//向后端发请求得登陆 ...
随机推荐
- JAVA中对null进行强制类型转换
今天很好奇,对null进行强转会不会抛错.做了如下测试得到的结果是,如果把null强转给对象,是不会抛异常的,本身对象是可以为null的.但是如果是基本类型,比如 int i = (Integer)o ...
- 喵星之旅-狂奔的兔子-docker安装和基本使用
一.前提条件 目前,CentOS 仅发行版本中的内核支持 Docker. 位.系统内核版本为 3.10 以上. 位系统.参考喵星之旅-狂奔的兔子-linux安装 二.CentOS 7下安装 Doc ...
- 喵星之旅-狂奔的兔子-linux安装
一.前言 本文演示虚拟机安装,和真机区别可能在网卡驱动上有差异. 真机环境:CentOS Linux release 7.6.1810 (Core) 虚拟机(虽然centos系统自带虚拟机软件,但是习 ...
- 在linux下安装java(centos和ubuntu)
在本地测试环境安装插件,发现还得用到java,虽说是个程序员,可是没用过java啊,哎,但是插件得用啊,怎么办啊?自己装呗 一.自己的系统:CentOS 7 1.查看CentOS自带JDK是否已安装. ...
- canvas的描述
// 1.找到DOM节点 const canvas = document.getElementById('canvas'); // 2.画笔 --- canvas的上下文对象 const ctx = ...
- java篇 之 继承
this代表正在使用类的对象(的引用) java支持重载:允许在同一个类中使用相同的方法名(重载类型只区分参数列表,包括参数 顺序,参数个数,参数数据类型,与方法返回类型无关) 匹配: 方法名 参数列 ...
- [QT] QT5.12 HTTPS请求 TLS initialization failed
#前言 接触到了Qt的网络编程 然后尝试对一个http页面请求获取源码 是可以的 但是当对https界面发出请求的时候总是错误 TLC什么的初始化失败 百度也是没有结果 然后网上各种方法 比如说编译O ...
- java内存模型中工作内存并不一定会同步主内存的情况分析
其实是为了填之前的一个坑 在一个多线程的案例中出现了阻塞的情况. https://www.cnblogs.com/hetutu-5238/p/10477875.html 其中的第二个问题,即多个 ...
- Educational Codeforces Round 77 (Rated for Div. 2)D(二分+贪心)
这题二分下界是0,所以二分写法和以往略有不同,注意考虑所有区间,并且不要死循环... #define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h> ...
- 【译】高级T-SQL进阶系列 (四)【上篇】:使用游标进行行级别处理
[译注:此文为翻译,由于本人水平所限,疏漏在所难免,欢迎探讨指正] 原文链接:传送门. 正常来说,使用游标并不是处理记录集的最佳方式.然而当一个经验丰富的程序员第一次开始写TSQL时,他们经常会寻找其 ...