Nginx反向代理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.34 3)B的内网IP是192.168.1.35 4)C为客户端,C只能访问B的外网IP,不能访问A或或者B的内网
需求目的:网络
C要访问到B的内网上的网站
在虚拟机192.168.1.35上添加一块网卡,且为仅主机模式,添加后复制ifcfg-ens33为ifcfg-ens37,设置网络tcp
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPADDR=192.168.40.128 NETWORK=255.255.255.0 IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens37 #UUID=149a7065-98f8-4af7-8795-577fcd0295b0 DEVICE=ens33 ONBOOT=yes ZONE= 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的主机配置文件rest
# vi /etc/nginx/conf.d/bbs.wangzb.cc.conf server { 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.cccode
# firewall-cmd --add-port=80/tcp --permanent //添加80端口 # firewall-cmd --reload //重载 # firewall-cmd --zone=public --list-ports //端口清单
再返回浏览器就能够正常访问bbs.wangzb.cc了server