#反向代理
nginx代理支持的協(xié)議
nginx作為反向代理常用協(xié)議
Nginx反向代理配置語法
代理配置語法
Syntax: proxy_pass URL;
Default: —
Context: location, if in location, limit_except
http://localhost:8000/uri/
http://192.168.56.11:8000/uri/
http://unix:/tmp/backend.socket:/uri/
| url跳轉修改返回location |
url
跳轉修改返回Location
[不常用]
參考下載站點:http://test.oldboy.com/Nginx_File/
Syntax: proxy_redirect default;
proxy_redirect off;proxy_redirect redirect replacement;
Default: proxy_redirect default;
Context: http, server, location
添加發(fā)往后端服務器的請求頭信息
Syntax: proxy_set_header field value;
Default: proxy_set_header Host $proxy_host;
proxy_set_header Connection close;
Context: http, server, location
用戶請求的時候HOST的值是www.oldboy.com, 那么代理服務會像后端傳遞請求的還是www.oldboy.com
proxy_set_header Host $http_host;
把remote_addr的值為客戶端的ip
proxy_set_header X-Real-IP $remote_addr;
客戶端通過代理服務訪問后端服務, 后端服務通過該變量會記錄真實客戶端地址
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
代理到后端的TCP連接瘸恼、響應、返回等超時時間
//nginx代理與后端服務器連接超時時間(代理連接超時)
Syntax: proxy_connect_timeout time;
Default: proxy_connect_timeout 60s;
Context: http, server, location
//nginx代理等待后端服務器的響應時間
Syntax: proxy_read_timeout time;
Default: proxy_read_timeout 60s;
Context: http, server, location
//后端服務器數(shù)據回傳給nginx代理超時時間
Syntax: proxy_send_timeout time;
Default: proxy_send_timeout 60s;
Context: http, server, location
proxy_buffer代理緩沖區(qū)
//nignx會把后端返回的內容先放到緩沖區(qū)當中册养,然后再返回給客戶端,邊收邊傳, 不是全部接收完再傳給客戶端
Syntax: proxy_buffering on | off;
Default: proxy_buffering on;
Context: http, server, location
//設置nginx代理保存用戶頭信息的緩沖區(qū)大小
Syntax: proxy_buffer_size size;
Default: proxy_buffer_size 4k|8k;
Context: http, server, location
proxy_buffer代理緩沖區(qū)
//nignx會把后端返回的內容先放到緩沖區(qū)當中,然后再返回給客戶端,邊收邊傳, 不是全部接收完再傳給客戶端
Syntax: proxy_buffering on | off;
Default: proxy_buffering on;
Context: http, server, location
//設置nginx代理保存用戶頭信息的緩沖區(qū)大小
Syntax: proxy_buffer_size size;
Default: proxy_buffer_size 4k|8k;
Context: http, server, location
//proxy_buffers 緩沖區(qū)
Syntax: proxy_buffers number size;
Default: proxy_buffers 8 4k|8k;
Context: http, server, location
常用優(yōu)化配置
Proxy代理網站常用優(yōu)化配置如下压固,將配置寫入新文件球拦,調用時使用include引用即可
[root@Nginx ~]# vim /etc/nginx/proxy_params
proxy_set_header Host remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 128k;
重復使用配置
代理配置location時調用方便后續(xù)多個Location重復使用
location / {
proxy_pass http://127.0.0.1:8080;
include proxy_params;
}