一:Nginx正向代理
如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访问 Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。
举个例子:通过中间服务器直接转发请求实现访问国外网站,需要在客户端配置代理服务器进行网站访问。
二:Nginx反向代理
反向代理和正向代理的区别就是:正向代理代理客户端,反向代理代理服务器。
反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址
三:Nginx配置反向代理(在http块下单个server块修改,这里举例一对一请求转发,一对多参考nginx入门系列:nginx负载均衡文章)
server {
....
location / { # 请求全部跳转
proxy_pass http://192.168.8.200:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ /edu/ { # url包含edu目录跳转
proxy_pass http://192.168.8.200:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
....
}