首先说说正向代理和反向代理的概念:
正向代理,架设在客户机与目标主机之间,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。
正向代理:浏览器访问目标网站(浏览器中配置代理服务器) -> 目标网站(google)。

反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器与目标主机一起对外表现为一个服务器。
反向代理:浏览器访问代理服务器地址 -> 代理服务器接收到请求->转发到目标服务器访问。

1、主要关键配置字段 proxy_pass
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /baidu {
#我们在这里配置了,如果访问 /baidu,就反向代理到百度
#实际运用中,可以代理到我们的服务器ip:端口号。如:http://192.168.65.100:9999;
proxy_pass http://www.baidu.com/;
}
resolve
server
{
listen 8080;
server_name xxx.cn;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/xxx.cn;
resolver 114.114.114.114;
location / {
set $testCn xxx.cn;
proxy_pass http://$testCn;
}
}
当设置resolve后, nginx将会忽略本身设置的dns,本机的hosts,直接通过resolve的dns服务器动态获取ip,用于转发,只有通过变量设置域名,resolve的dns解析才会生效