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,设置网络
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的主机配置文件
# 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.cc
# firewall-cmd --add-port=80/tcp --permanent //添加80端口
# firewall-cmd --reload //重载
# firewall-cmd --zone=public --list-ports //端口清单
再返回浏览器就可以正常访问bbs.wangzb.cc了