首页 > Web开发 > 详细

Nginx模块之ngx_http_proxy_module

时间:2019-05-16 13:39:03      阅读:207      评论:0      收藏:0      [点我收藏+]

ngx_http_proxy_module模块:

示例:

location / {
    proxy_pass       http://localhost:8000;
    proxy_set_header Host  $host;
    proxy_set_header X-Real-IP $remote_addr;
} 

proxy_pass: 用户对指定URL的请求都转交给后端另外一台服务器

格式:

 location /url {
    proxy_pass http://back_server:port/newurl;
 }
 
 /url --> /newurl

特殊情况:
  1.如果是 ~ | ~* 模式匹配的url,是可以忽略的,这种情况proxy_pass http://back_server:port/newurl/url;
  2.如果location中使用了重定向的话,代理的url是重定向后的url地址

示例:

location / {
    proxy_pass http://192.168.1.103/;            
}
location /bbs {
    proxy_pass http://192.168.1.103/bbs/;    
}       
location /forum {
    proxy_pass http://192.168.1.103/bbs;    
}
location ~* \.(jpg|png|gif)$ {
  proxy_pass http://192.168.1.103;  //这里是模式匹配的情况,图片访问时地址会加到url后面
}

proxy_set_header: 向后端发送特定首部,并且记录真实的客户端IP地址

格式:

location / {
   proxy_set_header Host $host;
   proxy_set_header X-Real-IP $remote_addr; }

 修改后端服务器日志格式:

LogFormat "%{X-Real-IP}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
  %h --> %{X-Real-IP}i

 proxy_cache_path: 设置缓存路径及其他缓存参数

 格式:

proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m;  //指定了磁盘空间上存放内容的位置;磁盘上内容的存放结构;内存空间中存放的键名字和大小;
context: http  //proxy_cache_path上下文是http,只能在http配置段中配置

proxy_cache_methods: 客户端使用哪一类请求才会被缓存,默认是GET和HEAD

格式:

Syntax:    proxy_cache_methods GET | HEAD | POST ...;
Default:    
proxy_cache_methods GET HEAD;
Context:    http, server, location
This directive appeared in version 0.7.59.

  proxy_cache_min_usrs:某一个请求被请求多少次才会被缓存,默认是一次 

 格式:

Syntax:    proxy_cache_min_uses number;
Default:    
proxy_cache_min_uses 1;
Context:    http, server, location

  proxy_cache_purge: 管理缓存空间中的缓存条目

 格式:

Syntax:    proxy_cache_purge string ...;
Default:    —
Context:    http, server, location
This directive appeared in version 1.5.7.

示例:

proxy_cache_path /data/nginx/cache keys_zone=cache_zone:10m;

map $request_method $purge_method {
    PURGE   1;
    default 0;
}

server {
    ...
    location / {
        proxy_pass http://backend;
        proxy_cache cache_zone;
        proxy_cache_key $uri;
        proxy_cache_purge $purge_method;
    }
} 

proxy_cache_revalidate: 过期后重新校验缓存

 格式:

Syntax:    proxy_cache_revalidate on | off;
Default:    
proxy_cache_revalidate off;
Context:    http, server, location
This directive appeared in version 1.5.7.

proxy_cache_use_stale: 是否使用已经过期的缓存响应客户请求

 格式:

Syntax:    proxy_cache_use_stale error | timeout | invalid_header | updating | http_500 | http_502 | http_503 | http_504 | http_403 | http_404 | http_429 | off ...;
Default:    
proxy_cache_use_stale off;
Context:    http, server, location

 proxy_cache_valid: 对不同响应码设置缓存时间

格式:

Syntax:    proxy_cache_valid [code ...] time;
Default:    —
Context:    http, server, location

 示例:

proxy_cache_valid 200 302 10m; 
proxy_cache_valid 301      1h;
proxy_cache_valid any      1m;

  proxy_connect_timeout: 向后端发送请求连接的超时时长

格式:

Syntax:    proxy_connect_timeout time;
Default:    
proxy_connect_timeout 60s;
Context:    http, server, location

 proxy_hide_header: 隐藏首部

格式:

Syntax:    proxy_hide_header field;
Default:    —
Context:    http, server, location

 proxy_read_timeout: 代理服务器发出响应的超时时间

格式:

Syntax:    proxy_read_timeout time;
Default:    
proxy_read_timeout 60s;
Context:    http, server, location

 proxy_pass_request_headers: 是否将客户端的请求报文中的请求首部原封不动的发到后端  

格式:

Syntax:    proxy_pass_request_headers on | off;
Default:    
proxy_pass_request_headers on;
Context:    http, server, location

proxy_pass_request_body: 是否将客户端的请求报文中的body发到后端

格式:

Syntax:    proxy_pass_request_body on | off;
Default:    
proxy_pass_request_body on;
Context:    http, server, location

proxy_buffers: 将代理服务器的响应放到缓冲中

格式:

Syntax:    proxy_buffers number size;
Default:    
proxy_buffers 8 4k|8k;
Context:    http, server, location

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Nginx模块之ngx_http_proxy_module

原文:https://www.cnblogs.com/ckh2014/p/10875047.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!