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