负载均衡的基本配置
(1)upstream
语法 upstream name {...}
配置项 http
upstream backend {
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
}
server {
location / {
proxy_pass http://baclend;
}
}
反向代理的基本配置
(1)proxy_pass
语法 : proxy_pass URL;
例子:
1.proxy_pass http://localhost:8080/uri
2.proxy http://unix://path/to/backend.socket:/uri/
3.
upstream backend {
...
}
server {
location / {
proxy_pass http://backend;
proxy_set_header Host $host;# 配置host
}
}
(2)proxy_method
语法: proxy_method method;
配置块:http server location
例子:
proxy_method POST;
(3) proxy_hide_header
语法:proxy_hide_header the_header;
配置项:http server location
Date
Server
X-Pad
X-Accel-*
(4)proxy_pass_header
语法:
proxy_pass_header the_header;
配置项:
http server location
例子:
proxy_pass_header X-Accel-Redirect;
(5)proxy_pass_request_body
语法:
proxy_pass_request_body on|off
默认:
proxy_pass_request_body on;
配置块:
http server location
(6)proxy_pass_request_headers
proxy_pass_request_headers on|off
默认 proxy_pass_request_headers on;
配置块:
http server location
(7)proxy_redirect
语法:proxy_redirect[default|off|redirect replacement]
默认:proxy_redirect default;
配置项:http server location
例子:
1.proxy_redirect http://localhost:8000/two/some/uri/
http://frontendone
2.proxy_redirect http://localhost:8000/
http://$host:$server_port/;
使用off参数时,将使location或者refresh字段维持不变,例如:
proxy_redirect off;
使用default 参数
location one {
proxy_pass http://upstream:port/two/;
proxy_redirect default;
}
和上面的功能具有一样的效果的:
location one {
proxy_pass http://upstream:port/two/;
proxy_pass http://upstream:port/two/one;
}
(8)proxy_next_upstream
语法:
proxy_next_upstream[error|timeout|invalid_header|http_500|http_502|http_503|http_504|http_504|http_404|off];
默认:
proxy_next_upstream error timeout;
配置项:http server location
nginx简单工作流程图