基于nginx实现反向代理
準(zhǔn)備工作:關(guān)閉虛擬機(jī)防火墻,selinux,關(guān)閉物理機(jī)防火墻,關(guān)閉物理機(jī)的代理。
第一步:配置上游服務(wù)器(這里用apache)
1.安裝apache
# yum install httpd -y2.創(chuàng)建一個(gè)測(cè)試文件
# cd /var/www/html/ # echo "<h1>test for proxy</h1>" >./index.html3.修改網(wǎng)絡(luò)連接方式。(為了效果我們這里將上游服務(wù)器的和反向代理服務(wù)器分別設(shè)置在不同的網(wǎng)段)修改網(wǎng)絡(luò)連接方式為任意一個(gè)虛擬網(wǎng)絡(luò)即可(這里我用vmnet4)
4.修改IP地址
# cd /etc/sysconfig/network-scripts/ # vim ifcfg-eth0修改里面的內(nèi)容如下
DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.5.2 NETMASK=255.255.255.0 GATEWAY=192.168.5.15.重啟網(wǎng)絡(luò)
# service network restart6.啟動(dòng)apache
# service httpd restart第二步:配置代理服務(wù)器(基于nginx)
1.添加一塊網(wǎng)卡,并設(shè)置網(wǎng)絡(luò)連接的方式和上游服務(wù)器相同(這里我用的是vmnet4)
2.修改第二塊網(wǎng)卡的ip地址
# cd /etc/sysconfig/network-scripts/ # cp ifcfg-eth0 ./ifcfg-eth1 # vim ifcfg-eth1修改里面的內(nèi)容如下
DEVICE=eth1 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.5.1 NETMASK=255.255.255.03.重啟網(wǎng)絡(luò)
# service network restart4.安裝nginx
yum install nginx -y5.測(cè)試是否可以訪問上游服務(wù)器中的網(wǎng)頁
# curl http://192.168.5.2/index.html結(jié)果如下<h1>test for proxy</h1> 說明可以正常連接上游服務(wù)器。
6.修改nginx的配置文件
# cd /etc/nginx/conf.d/ # vim default.conf在配置文件的server中添加一個(gè)location如下:
location / {proxy_pass http://192.168.100.191:80/; # 指定將用戶請(qǐng)求代理到上游服務(wù)器proxy_set_header Host $host; # 添加一個(gè)新首部,首部名稱叫做Host,目的是為了保存客戶端所請(qǐng)求的域名proxy_set_header X-Real-IP $remote_addr; # 添加一個(gè)新首部,首部名稱叫做X-Real-IP,值是一個(gè)變量的值}
7.重啟nginx
8.測(cè)試
在本地物理機(jī)瀏覽器輸入nginx第一塊網(wǎng)卡的IP地址,頁面顯示結(jié)果如下圖
注意:nginx所在虛擬機(jī)的第一塊網(wǎng)卡ip地址需要和物理機(jī)的本地連接在一個(gè)網(wǎng)段(我的物理機(jī)本地ip地址為10.220.5.10,nginx所在虛擬機(jī)的第一塊網(wǎng)卡ip為10.220.5.111)
總結(jié)
以上是生活随笔為你收集整理的基于nginx实现反向代理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 远程桌面连接管理问题解决方法大全
- 下一篇: centos系统光盘的构成简单介绍