https://bbs.huaweicloud.com/blogs/301714#:~:text=相比于正向,的一种代理服务。
通过实时查看nginx的访问日志,可以看到Windows下设置代理IP和端口后,本地电脑访问的所有网页会通过代理服务器
进行访问网页,实现了正向代理的功能,并且隐藏了用户自己真实的IP
~
(2)客户端–Linux代理访问
Linux下也可以验证代理服务器
是否能正常代理转发http
和https
请求~
curl <http://www.baidu.com/> -v -x 127.0.0.1:80
curl <https://www.baidu.com/> -v -x 127.0.0.1:443
nginx正向代理转发https
成功:
先来一张图了解下~
相比于正向代理,反向代理的定义如下:
反向代理,指的是
浏览器/客户端
并不知道自己要访问具体哪台目标服务器
,只知道去访问代理服务器
,代理服务器
再通过反向代理 +负载均衡
实现请求分发到应用服务器
的一种代理服务。 反向代理服务的特点是代理服务器
代理的对象是应用服务器
,也就是对于浏览器/客户端
来说应用服务器
是隐藏的。
(1)修改nginx配置
修改nginx配置vi /usr/local/nginx/conf/nginx.conf
在http
模块中配置如下:
nginx反向代理都是结合负载均衡来实现的,这里先直接提供反向代理+负载均衡
的配置,负载均衡
后一章节介绍~
#反向代理+负载均衡
upstream reverseProxyServer{
#负载均衡应用服务器A: 权重为10,10s内连接请求失败2次,nginx在10s内认为server是不可用的,将不在发送请求给这台服务器
server 应用服务器A的IP:8080 weight=10 max_fails=2 fail_timeout=10s;
#负载均衡应用服务器B: 代理服务器权重为5,10s内连接请求失败2次,nginx在10s内认为server是不可用的,将不在发送请求给这台服务器
server 应用服务器B的IP:8080 weight=5 fail_timeout=10s max_fails=2;
#负载均衡应用服务器C: 代理服务器权重为5,10s内连接请求失败2次,nginx在10s内认为server是不可用的,将不在发送请求给这台服务器
server 应用服务器C的IP:8080 weight=5 fail_timeout=10s max_fails=2;
}
server {
#监听80端口,http默认端口80
listen 80;
#服务器IP或域名
server_name localhost;
#反向代理请求路径中含有/appname的所有请求到upstream定义的对应反向代理模块
location /appname {
proxy_pass <http://reverseProxyServer>;
}
}
(2)检查和刷新nginx配置
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload