Linux记录17-4.48-4.49 反向代理

情况一:

机房里有多台服务器,但只有一台服务器连接外网,则用户只能通过带外网的服务器去访问不带外网的服务器,这个就是反向代理。这里服务器B代理了客户A通过内网去访问服务器C。

最终达成A客户访问到不带公网的C服务器。

 

情况二:

C服务器虽然有外网,但是A直接访问C服务器很慢,而A访问B服务器快,B服务器访问C服务器也快。这种情况下A访问B服务器让B服务器代理访问C服务器。

 

 

现在场景需要设置成:

 

 

用虚拟机二模拟服务器B , 之前配置了bbs,blog的虚拟机模拟服务器A

添加网卡

 

现在是双网卡模式了

 

配置新网卡的IP地址

可见2个网卡,2个IP地址。

 

 

查一下网卡配置文件,只有一个网卡ens33 ,并没有ens37

这是因为ens37是自动获取的。

所以我们需要把他配置成静态文件

 

所以复制一个ens33修改成ens37

 

vi编辑,把IPADDR改成前面查出来的自动配置的IP一样,不然可能会有2个IP,一个自动的IP一个你设置的IP。GATEWAY和DNS1都可以删除了。

重启网络服务

 

给二号机也要装nginx

从一号机先内网地址传配置文件过去

scp —— 向目标IP地址复制文件

 

然后二号机yum安装nginx

 

修改配置文件  vi  /etc/nginx/conf.d/default.conf ,直接deny all禁止掉

 

然后新建一个 bbs.aminglinux.cc 文件,里面不用填root什么的,只要配置一下端口和域名再加上。

location  /

{

   proxy_pass http://目标服务器A的内网ip;

   proxy_set_header Host $host;

   proxy_set_header X-Real-IP $remote_addr;

   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

 

http:// IP  :最终的服务器A内网的IP ,最终B是通过内网连上A的。

proxy_set_header Host  : 指header信息中的域名,$host指的就是server_name,server_name是在虚拟主机配置文件中定义的。

proxy_set_header  X-Real-IP  :   指header 信息中C的IP,就是被代理方的IP

proxy_set_header  X-Forward-For : 指作为代理方B访问A时候用的IP

(X-Real-IP , X-Forward-For 主要体现在访问日志里)

修改完,需要启动nginx服务,nginx  –s  reload才有意义

 

想用systemctl start nginx 启动nginx 但是失败。

换一种方式 ,直接用/usr/sbin/nginx启动

pkill停止一下nginx再重新systemctl启动,这次启动成功。

 

防火墙 加入80端口

重载防火墙

iptables  -nvl  |grep  80   ——  查询端口启用情况

 

至此,80端口成功加入,防火墙成功关闭。配置二号机的hosts就可以实现代理功能。

 

hosts改成是设定的外网IP,则外网的访问就会到B上,B再通过内网去找A。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值