Nginx反代配置详解(2)

    ngx_http_headers_module模块允许添加“过期”和“缓存控制头字段,和任意的领域,一个响应头。向由代理服务器响应给客户端的响应报文添加自定义首部,或修改指定首部的值;

命令:

1、add_header

    添加自定义首部;

语法:add_header name value [always];

可用上下文:http, server, location, if in location

示例:

    add_header X-Via  $server_addr;

    add_header X-Accel $server_name;

2、expires

    用于定义Expire或Cache-Control首部的值;

语法:expires [modified] time;

可用上下文:http, server, location, if in location

三、ngx_http_upstream_module模块 

    ngx_http_upstream_module模块用于定义服务器可以通过proxy_pass,fastcgi_pass,uwsgi_pass,scgi_pass参照组,和memcached_pass指令。

命令:

1、upstream

    定义一组服务器。服务器可以在不同的端口上监听。此外,服务器监听TCP和Unix域套接字可以混合。

语法:upstream name { ... }

可用上下文:http

示例:

upstream httpdsrvs {

    server ...

    server...

    ...

}

2、server

    在upstream上下文中server成员,以及相关的参数;Context:upstream

语法:server address [parameters];

可用上下文:upstream

address表示格式:

    unix:/PATH/TO/SOME_SOCK_FILE

    IP[:PORT]

    HOSTNAME[:PORT]

parameters:

   (1) weight=number

        权重,默认为1;

    (2)max_fails=number

        失败尝试最大次数;超出此处指定的次数时,server将被标记为不可用;

    (3)fail_timeout=time

        设置将服务器标记为不可用状态的超时时长;

    (4)max_conns

        当前的服务器的最大并发连接数;

    (5)backup

        将服务器标记为“备用”,即所有服务器均不可用时此服务器才启用;

    (6)down

        标记为“不可用”;

3、least_conn;

    最少连接调度算法,当server拥有不同的权重时其为wlc,适用于长连接服务

4、ip_hash;

    源地址hash调度方法;

5、hash

    基于指定的key的hash表来实现对请求的调度,此处的key可以直接文本、变量或二者的组合;

    作用:将请求分类,同一类请求将发往同一个upstream server;

语法:hash key [consistent];

示例:

    hash $request_uri consistent;

    hash $remote_addr;

6、keepalive

    为每个worker进程保留的空闲的长连接数量;连接参数设置KeepAlive闲置的最大连接数上游服务器保存在每个工作进程缓存。当这个数字被超过时,最近使用的连接被关闭。

四、ngx_stream_core_module模块

    模拟反代基于tcp或udp的服务连接,即工作于传输层的反代或调度器;

命令:

1、stream

    定义stream相关的服务

可用上下文:main

示例:

stream {

    upstream sshsrvs {

server 192.168.22.2:22; 

server 192.168.22.3:22; 

least_conn;

}

server {

listen 10.1.0.6:22022;

proxy_pass sshsrvs;

}

} 

2、listen

    监听端口

可用上下文:server

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/eacc38c2447ad89504968be8674bc4c1.html