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

  

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM