Nginx反向代理web服务器-----简单代理

本文介绍如何在CentOS 7.2上配置Nginx 1.12.2作为正向及反向代理服务器。通过具体步骤演示了如何设置Nginx来代理后端Web服务,并确保客户端的真实IP能够被正确记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正向代理:客户端需要访问Internet上的某个网站,访问不了,从而访问Nginx代理服务器,Nginx代理服务器访问目标网站,并从中取出访问数据返回给客户端,目标网站获取的访问者的信息实际上是Nginx代理服务器的,但是使用正向代理服务器,客户端需要自行设置。

反向代理:Nginx反向代理后端的一个或多个web服务,客户端访问web服务时,直接访问的Nginx反向代理服务器,而Nginx再根据调度策略,将请求分发至后台实际web服务器。

环境:centos7.2

Nginx:1.12.2

node1_ip:192.168.169.103(Nginx代理服务器)

node2_ip:192.168.169.154

node2安装web服务器:

 yum -y install httpd

Apache默认首页在/var/www/html下的index.html配置文件,若没有,新建一个index.html并写入测试语句:

this is 192.168.169.154 web server,然后开启http服务

service httpd start

浏览器访问node2的http,看到首页

145056_ZT6w_3703522.jpg

 

配置Nginx代理服务器,node1:

yum -y install nginx #Nginx依赖软件包zlib、pcre等

yum安装的软件配置文件,默认在/etc/下,

cd /etc/nginx

145653_rV7Q_3703522.jpg

nginx.conf为Nginx的默认配置文件

查看nginx.conf,配置文件中有:

 include /etc/nginx/conf.d/*.conf;  #代表会加载在此路径下的所有的conf文件,即conf.d下的所有conf文件

cd conf.d/

touch test.conf   #新建一个test 文件,尝试代理node2的web服务器

vim test.conf

 server {
        listen       80;                    #监听端口
        server_name  _;               #

        location / {
               proxy_pass http://192.168.169.154:80;         #代理的实际ip+端口
               proxy_set_header  X-Real-IP  $remote_addr;   #设置web服务器取得的客户端的实际ip地址,#  不设置,查看web服务 的日志,会发现,请求web服务的ip是Nginx代理服务器的ip。     

   }
}
#保存退出

service nginx start

浏览器访问Nginx,出现node2,web服务器首页,代理成功

150354_fmrb_3703522.jpg

备注:如果查看web服务器日志,发现请求的客户端ip仍然是Nginx代理服务器的ip,需要设置web服务器的主配置文件,例Apache的为/etc/httpd/conf下的httpd.conf

其中配置日志的字段为,默认黄框内的配置为,将其中的“%h”设置为“%{X-Real-IP}i”

 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

155007_e3IP_3703522.jpg

service httpd restart #重启httpd服务,查看请求日志,请求客户端ip为实际客户端ip。

转载于:https://my.oschina.net/u/3703522/blog/1601199

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值