Nginx系列9:nginx正向代理概念与配置

2019-04-06  本文已影响0人  joyitsai

1. 正向代理与反向代理的概念:

请参见之前的一片文章《Nginx基本功能及其原理》,理解什么是正向代理和反向代理服务。
理解这两个概念的关键是要明白我们要让服务器充当的角色和目的是什么?

2. nginx服务器正向代理服务

使用Nginx服务器代理服务功能的情况相对反向代理要少一些,涉及的主要指令不多,一般在搭建nginx正向代理时单独配置一个server块来进行配置。

2.1 resolver指令:

该指令指定DNS服务器的IP地址。DNS服务器的主要功能是进行域名解析,将域名映射为对应的IP地址。语法结构:
resolver address ...[valid=time];

resolver 127.0.0.1 [::1]:5353 valid=30s;

在实际应用中,一般不需要设置这么复杂,只要将DNS服务器的IP地址设置好即可。

2.2 resolver_timeout指令:

该指令用于设置DNS服务器域名解析的超时时间,语法结构:
resolver_timeout time;

2.3 proxy_pass指令:

该指令用于设置代理服务器的协议和地址,它不仅仅用于Nginx服务器的正向代理,更多的应用用于反向代理。语法结构:
proxy_pass URL;

proxy_pass http://$http_host$request_uri;

其中,代理服务器的协议为HTTP,http_host和request_uri分别用于自动获取主机和URI。

3. Nginx做正向代理的例子

...
server {
    # 设置DNS服务器IP地址为8.8.8.8,默认使用53端口
    resolver 8.8.8.8;
    # 代理服务监听82端口
    listen 82;
    # nginx接收的所有请求都由location块进行过滤处理
    location / {
        proxy_pass http://$http_host$request_uri;
    }
}
...

注意:Nginx正向代理不支持HTTPS协议的站点。。。

上一篇下一篇

猜你喜欢

热点阅读