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

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

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

环境:centos7.2nginx

Nginx:1.12.2web

node1_ip:192.168.169.103(Nginx代理服务器)vim

node2_ip:192.168.169.154后端

node2安装web服务器:centos

 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,看到首页

 

配置Nginx代理服务器,node1:

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

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

cd /etc/nginx

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服务器首页,代理成功

备注:若是查看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

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

相关文章
相关标签/搜索