正向代理(数据转发)& 反向代理流程图

1、什么是代理服务器

代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。

2、为什么要使用代理服务器

1)提高访问速度
由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门站点能明显提高请求速度;
2)防火墙作用
由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可在代理服务器上设限,过滤某些不安全信息;
3)通过代理服务器访问不能访问的目标站点
互联网上有许多开发的代理服务器,客户机在访问受限时,可通过不受限的代理服务器访问目标站点。

3、Nginx正向代理服务器

正向代理,架设在客户机与目标主机之间,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。

4、Nginx反向代理服务器

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

5、配置nginx代理局域网上网

① 添加网卡(一个外网、一个内网)

[root@138 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:fa:08:eb brd ff:ff:ff:ff:ff:ff
    inet 192.168.25.138/24 brd 192.168.25.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::8fed:5970:dfc6:462b/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:fa:08:f5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.43.129/24 brd 192.168.43.255 scope global noprefixroute dynamic ens36
       valid_lft 1432sec preferred_lft 1432sec
    inet6 fe80::20e5:6431:669d:f167/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

#注:ens33网卡为外网网卡、ens36网卡为内网网卡

② 配置文件

[root@138 ~]# cd /etc/nginx/conf.d/
[root@138 conf.d]# vim proxy.conf
server {
	resolver 114.114.114.114; 		#指定DNS服务器IP地址
	listen 8080;					#服务端口,避免和http服务80端口冲突
	location / {
		proxy_pass http://$http_host$request_uri; 		#设定代理服务器的协议和地址(均为变量)
	}
}

③ WindowsXP上网测试(模拟内网主机访问外网)

需要预先设定网卡模式为仅主机模式(模拟内网环境默认无法访问外网)

可以看到下图中IP地址为内网地址

以下步骤是配置数据包转发(转发给代理服务器处理)
Nginx代理服务器打开浏览器(以IE为例),选择“工具”中的“Internet选项”

随后选择“连接”,在“局域网(LAN)设置”窗口中,选中“代理服务器”选项,并按照下图中填写“代理服务器IP地址”和“服务端口”

访问外网测试


可以看到都是可以正常访问的,但访问的仅仅是正常http服务,如果访问的是https服务,将不会成功(需要另外设置开启)

6、配置nginx反向代理

① 实验环境

代理服务器:外网192.168.25.138、内网192.168.43.129
实际内网服务器:内网192.168.43.136
客户:外网192.168.25.137

② 设置环境

代理服务器(双网卡,内网 & 外网):

实际内网服务器(仅主机模式):

客户(NAT外网):

调试网卡,移除网关,模拟环境(不然可以直接访问实际内网服务器)

[root@137 ~]# nmtui

进入到网卡配置处,选择第一项“Edit开头项”

选中对应网卡(此处是ens33),将光标移动到Edit

如下图所示,将网关(Gateway)项的内容清空

将光标移动到该页最低处的“OK”项

将光标移动到右下角的“Back”项

将光标移动到右下角的“OK”项

重启网卡服务调用配置

[root@www ~]# systemctl restart network

③ 实际内网服务器配置网站

安装apache

[root@136 ~]# yum install httpd -y

配置网页内容

[root@136 ~]# echo "反向代理测试界面" > /var/www/html/fanxiang.html

④ 配置文件

[root@138 conf.d]# vim proxy_fanxiang.conf
server {
        listen 888;
        server_name localhost;
        location / {
                proxy_pass http://192.168.43.136;
        }
}

⑤ 客户进行测试

[root@137 ~]# curl 192.168.25.138:888/fanxiang.html
反向代理测试界面

如果返回的结果和上方结果一致,则表示成功

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。