Nginx代理服务器

正向代理(数据转发)& 反向代理流程图
在这里插入图片描述

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地址为内网地址
在这里插入图片描述
以下步骤是配置数据包转发(转发给代理服务器处理)
打开浏览器(以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
反向代理测试界面

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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值