Nginx正向代理与反向代理

1.正向代理:

正向代理类似一个跳板机,代理访问外部资源。

Nginx正向代理与反向代理

典型应用:为在防火墙内的局域网客户端提供访问Internet的途径 如:IE例外设置代理服务器

Nginx正向代理与反向代理

正向代理配置实例:为不影响默认配置:添加一个虚拟主机:

include vhosts/*.conf;

vi proxy.conf

server{

resolver 8.8.8.8;

resolver_timeout 30s;

listen 8090;

server_name proxy.qinyj.top;

location / {

proxy_pass http://$http_host$request_uri;

proxy_set_header Host $http_host;

proxy_buffers 256 4k;

proxy_max_temp_file_size 0;

proxy_connect_timeout 30;

proxy_cache_valid 200 302 10m;

proxy_cache_valid 301 1h;

proxy_cache_valid any 1m;

}

}

2.反向代理:

反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。典型用途是将 防火墙后面的服务器提供给Internet用户访问

  nginx支持配置反向代理,通过反向代理实现网站的负载均衡。这部分先写一个nginx的配置,后续再深入研究nginx的代理模块和负载均衡模块。

nginx通过proxy_pass 配置代理站点,upstream模块实现http负载均衡。

server {

........

upstream qinyujie { #定义负载均衡站点名称  

server 192.168.0.161:80;

server 192.168.0.162:80; #后端真实ip一般指内网  

}

location / {

proxy_pass http://qinyujie;   #配置代理站点或后端真实ip

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

}

3.反向代理用做内网域名转发

编辑反向代理服务器配置文件:

vim /usr/local/nginx/conf/reverse-proxy.conf

server

{

listen 80;

server_name xxx123.tk;

location / {

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://192.168.10.38:3000;#在浏览器中输入xxx123.tk的时候访问的内网服务器192.168.10.38的3000端口

}

access_log logs/xxx123.tk_access.log;

}

评论

目前评论:0   

点击加载更多评