CentOS7-Nginx搭建具备缓存功能的反向代理服务器-Linux

1.准备两台虚拟机,并且安装好nginx(安装可参考)

     server1作为反向代理服务器,server2作为上游服务器。

 

2.上游服务器搭建web服务(可参考)

 

3.反向代理服务器设置

#在http指令块下添加一个upstream指令块,server的参数填写上游服务器的IP地址
    upstream LocalServer2{
        server 192.168.233.150;
}


    server {
        listen       80;
        server_name  localhost;

#在location / 中添加以下指令
        location / {
                proxy_set_header Host $host;
                proxy_set_header X_Real_IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://LocalServer2;      #http:// + upstream中定义的名称                 
        }

}

查看反向代理的效果,在浏览器中输入反向代理服务器的IP地址,显示的实际上是上游服务器的内容。

CentOS7-Nginx搭建具备缓存功能的反向代理服务器-Linux_第1张图片

 

4.上游服务器查看真正访问客户的地址

  • 访问过程 

       第一步:客户端—(访问)—>代理服务器

       第二步:代理服务器—(访问)—>上游服务器

  • 上游服务器默认的访问日志中,记录的只有代理服务器的IP地址,而没有真实的客户地址。

  • 修改上游服务器访问日志的格式
[root@server2 conf]# vim nginx.conf

#$http_x_forwarded_for为真实的访问地址,配置文件中默认已经写出来了,只需要取消注释就可以

   log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  logs/access.log  main;
  • 查看真实的访问地址

 

5.代理服务器开启缓存功能

你可能感兴趣的:(Nginx)