模块ngx_http_proxy_module

ngx_http_proxy_module 该模块允许将请求传递到另一台服务器。

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

设置用于读取从代理服务器接收的响应的第一部分的缓冲区。此部分通常包含一个小的响应标头。默认情况下,缓冲区大小等于一个内存页。这是 4K 或 8K,具体取决于平台。但是,它可以变得更小。size

语法:	proxy_buffering on | off;
违约:	
proxy_buffering on;
上下文:	http, ,serverlocation

设置代理服务器的协议和地址以及应将位置映射到的可选 URI。作为协议,可以指定“”或“”。该地址可以指定为域名或 IP 地址,以及可选端口:httphttps

语法:	proxy_pass URL;
违约:	—
上下文:	location, ,if in locationlimit_except
proxy_pass http://localhost:8000/uri/;
proxy_pass http://unix:/tmp/backend.socket:/uri/;

如果域名解析为多个地址,则所有地址都将以轮循机制方式使用。此外,可以将地址指定为服务器组。

参数值可以包含变量。在这种情况下,如果将地址指定为域名,则会在所描述的服务器组中搜索该名称,如果未找到,则使用解析程序确定该名称。

请求 URI 按如下方式传递到服务器:

如果使用 URI 指定了该指令,则当请求传递到服务器时,与位置匹配的规范化请求 URI 部分将替换为指令中指定的 URI:proxy_pass

location /name/ {
    proxy_pass http://127.0.0.1/remote/;
}

如果指定为不带 URI,则请求 URI 将以与处理原始请求时客户端发送的相同形式传递到服务器,或者在处理已更改的 URI 时传递完整的规范化请求 URI:proxy_pass

location /some/path/ {
    proxy_pass http://127.0.0.1;
}

当使用重写指令在代理位置内更改 URI 时,将使用相同的配置来处理请求 ():break

location /name/ {
    rewrite    /name/([^/]+) /users?name=$1 break;
    proxy_pass http://127.0.0.1;
}

在这种情况下,将忽略指令中指定的 URI,并将完整更改的请求 URI 传递到服务器。
当变量用于 :proxy_pass

location /name/ {
    proxy_pass http://127.0.0.1$request_uri;
}

在这种情况下,如果在指令中指定了 URI,则按原样将其传递到服务器,从而替换原始请求 URI。

上一篇 下一篇
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

期待未来的男孩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值