示例:
location / {
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
格式:
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后面
}
格式:
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 /data/nginx/cache levels=1:2 keys_zone=one:10m; //指定了磁盘空间上存放内容的位置;磁盘上内容的存放结构;内存空间中存放的键名字和大小;
context: http //proxy_cache_path上下文是http,只能在http配置段中配置
格式:
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;
}
}
格式:
Syntax: proxy_cache_revalidate on | off;
Default:
proxy_cache_revalidate off;
Context: http, server, location
This directive appeared in version 1.5.7.
格式:
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
格式:
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
格式:
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
格式:
Syntax: proxy_pass_request_body on | off;
Default:
proxy_pass_request_body on;
Context: http, server, location
格式:
Syntax: proxy_buffers number size;
Default:
proxy_buffers 8 4k|8k;
Context: http, server, location
原文:https://www.cnblogs.com/ckh2014/p/10875047.html