Nginx反向代理
什么叫反向代理:A(用户)--> B(和C在同一个机房,并且有公网) --> C(不带公网的机器),A通过B访问C,就需要访问代理服务器
1)访问不带公网的内网机器2)解决两台机器之间通信有障碍的问题:假如C也有公网,A访问B较快,B访问C较快,A直接访问C较慢,此时可以通过B代理是的A访问C较快。
场景设置:
1)A B两台机器,其中A只有内网,B有内网和外网2)A的内网IP是192.168.1.343)B的内网IP是192.168.1.354)C为客户端,C只能访问B的外网IP,不能访问A或或者B的内网
需求目的:
C要访问到B的内网上的网站
在虚拟机192.168.1.35上添加一块网卡,且为仅主机模式,添加后复制ifcfg-ens33为ifcfg-ens37,设置网络
TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPADDR=192.168.40.128NETWORK=255.255.255.0IPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens37#UUID=149a7065-98f8-4af7-8795-577fcd0295b0DEVICE=ens33ONBOOT=yesZONE=systemctl restart network.service //重启网络
在B服务器上配置一下nginx
# cat /etc/yum.repos.d/nginx.repo# # scp /etc/yum.repos.d/nginx.repo 192.168.1.35:/etc/yum.repos.d/ //将192.168.1.34上的nginx.repo文件拷贝到192.168.1.35上
切换到192.168.1.35
# yum install -y nginx # vi /etc/nginx/conf.d/default.conf //编辑配置文件,禁用掉默认主机server {listen 80;server_name localhost;**deny all;**# systemctl start nginx //启动nginx# systemctl enable nginx //设置开机启动# ps -aux | grep nginx //查看nginx服务
添加bbs.wangzb.cc的主机配置文件
# vi /etc/nginx/conf.d/bbs.wangzb.cc.confserver {listen 80;server_name bbs.wangzb.cc;deny all;location /{ proxy_pass http://192.168.1.34; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}# nginx -t# nginx -s reload
在C:\Windows\System32\drivers\etc\hosts中加入192.168.40.128 bbs.wangzb.cc
# firewall-cmd --add-port=80/tcp --permanent //添加80端口# firewall-cmd --reload //重载# firewall-cmd --zone=public --list-ports //端口清单
再返回浏览器就可以正常访问bbs.wangzb.cc了