阅读背景:

nginx 06-Nginx代理服务

来源:互联网 
Nginx代理服务基本上有三种: 正向代理 反向代理 透明代理 配置语法: proxy_pass URL; (location、if in location,limit_except) 反向代理配置案例 server { listen 80; server_name new.test.com; location ~ /test.html$ { proxy_pass https://127.0.0.1:8080; } } 正向代理配置案例: server { listen 80; server_name new.test.com; resolver 8.8.8.8; location / { proxy_pass https://$http_host$request_url; } } 透明代理配置案例: server { listen 80; server_name zabbix.liang.cn; location /{ proxy_set_header host '192.168.10.31'; proxy_set_header referer ''; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass https://192.168.10.31; } } 代理常用配置 缓存区设置(默认打开) 配置语法: proxy_buffering on | off; (http,server,location) 扩展:proxy_buffer_size、proxy_buffers、proxy_busy_buffers_size 跳转重定向 配置语法: proxy_redirect default; proxy_redirect off; proxy_redirect redirect replacement; (http,server,location) 头信息 配置语法: proxy_set_header field value; 默认: proxy_set-header Host $proxy_host; proxy_set_header Connection close; (http,server,location) 扩展:proxy_hide_header、proxy_set_body 超时 配置语法: proxy_connect_timeout time; (http,server,location),默认60s 扩展:proxy_read_timeout、proxy_send_timeout 常用代理配置案例 server { listen 80; server_name location; location / { procy_pass https://test; proxy_redirect default; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_connect_timeout 30; proxy_send_timeout 60; proxy_read_timeout 60; proxy_buffer_size 32k; proxy_buffering on; proxy_buffers 4 128k; proxy_busy_buffers_size 256k; proxy_max_temp_file_size 256k; } } Ngixn负载均衡 配置语法: upstream name {..} (http) 配置案例: http{ upstream test { server 192.168.10.10:8080 down; server 192.168.10.10:8081 max_fails=1 fail_timeout=10s; server 192.168.10.11:8080 backup; } server { listen 80; server_name location; location / { procy_pass https://test; } } } 后端服务器在负载均衡调度中的状态 down --当前的server暂时不参与负载均衡 backup --预留的备份服务器 max_fails --允许请求失败的次数 fail_timeout --经过max_fails失败后,服务暂停的时间 max_conns --限制最大的接收连接数 调度算法 轮询 --按时间顺序逐一分配到不同的后端服务器 加权轮询 --weight值越大,分配到的访问几率越高 least_conn --最少链接数,那个机器连接数少就分发 ip_hash --每个请求按访问IP的hash结果分配,这样来自同一个IP的固定访问一个后端服务器 upstream test { ip_hash; server 192.168.10.10:8080; server 192.168.10.10:8081; server 192.168.10.11:8080; } url_hash --按照访问的URL的hash结果来分配请求,是每个URL定向到同一个后端服务器 upstream test { hash $request_uri; server 192.168.10.10:8080; server 192.168.10.10:8081; server 192.168.10.11:8080; } hash关键数值 --hash自定义的keyNginx代理服务基本上有三种: 正向代理 反向代理 透明代理 配置语法: proxy_pass U


你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: