nginx实现正向代理和反向代理

注意:nginx正向代理有缺陷,如果同时实现http和https正向代理请使用squid软件

(1)正反向代理

正向代理:实现客户端上网
反向代理:代理访问后端web服务器,
区别:正向代理的对象是客户端,反向代理的对象是服务器端

(2)nginx实现http正向代理

1.修改配置文件

#vim /usr/local/nginx/conf/nginx.conf
http {
    include /usr/local/nginx/conf.d/*.conf
}
#mkdir /usr/local/nginx/conf.d 
#vim /usr/local/nginx/conf.d/proxy.conf
server {
        listen 8080;
        resolver 114.114.114.114;
        location / {
        proxy_pass http://$http_host$request_uri;
        }
}
#nginx -t
#nginx -s reload 

2.搜狗浏览器代理设置

3.访问网易没有问题,但是https有问题,建议使用squid实现http和https的正向代理

(2)nginx实现反向代理

1.代理服务器配置

#vim /usr/local/nginx/conf/nginx.conf
http {
    include /usr/local/nginx/conf.d/*.conf
}
#mkdir /usr/local/nginx/conf.d 
#vim /usr/local/nginx/conf.d/proxy.conf             //这里建议使用基于主机地址的反向代理
server {
        listen 80;
        server_name www.test.com;
        location / {
        proxy_pass http://192.9.191.31:80;
        }
}

2.默认情况下后端web服务器获取的是代理服务器访问过来的ip地址,如果想获取客户端真实的ip地址,proxy_set_header3个配置

#vim /usr/local/nginx/conf.d/proxy.conf
server {
        listen 80;
        server_name www.test.com;
        location / {
        proxy_pass http://192.9.191.31:80;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

web服务器端日志配置,变量$http_x_forwarded_for代理服务器把客户端的ip通过这个变量传递给web服务器

#vim /usr/local/nginx/conf/nginx.conf
http {
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;
   error_log logs/error.log;
    }

web服务器验证:最后一列就是客户端的ip地址

原文地址:https://www.cnblogs.com/lovelinux199075/p/9061793.html

时间: 2024-10-12 08:41:58

nginx实现正向代理和反向代理的相关文章

【nginx】【转】正向代理与反向代理的区别[

转自: http://blog.csdn.net/m13666368773/article/details/8060481 正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问那个我不能访问的网站于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容代理服务器去取回来,然后返回给我 从网站的角度,只在代理服务器来取内容的时候有一次记录有时候并不知道是用户的请求,也隐藏了用户的资料

nginx正向代理,反向代理,透明代理(总结)

1正向代理 正向代理,也就是传说中的代理,他的工作原理就像一个跳板, 简单的说, 我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 这个代理服务器呢,他能访问那个我不能访问的网站 于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容 代理服务器去取回来,然后返回给我 从网站的角度,只在代理服务器来取内容的时候有一次记录 有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站 结论就是 正向代理 是一个位于客户端和原始服务器(origin server)之间的服务

Nginx详解(正向代理、反向代理、负载均衡原理)

nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现. 这里主要通过三个方面简单介绍nginx 反向代理 负载均衡 nginx特点 1. 反向代理 关于代理 说到代理,首先我们要明确一个概念,所谓代理就是一个代表.一个渠道: 此时就设计到两个角色,一个是被代理角色,一个是目标角色,被代理角色通过这个代理访问

Nginx的正向代理与反向代理详解

正向代理和反向代理的概念 代理服务(Proxy),通常也称为正向代理服务. 如果把局域网外Internet想象成一个巨大的资源库,那么资源就分布到了Internet的各个点上,局域网内的客户端要访问这个库里的资源就必须统一通过代理服务器才能对各个站点进行访问. 局域网内的机器借助代理服务访问局域网外的网站, 这主要是为了增加局域网内部网络的安全性,使得网外的威胁因素不容易影响到网内,这里代理服务器起到了一部分防火墙的功能.同时,利用代理服务器也可以对局域网外的访问进行必要的监控和管理.正向代理服

Nginx的正向代理和反向代理

一.介绍 实践中客户端无法直接跟服务端发起请求的时候,我们就需要代理服务.代理可以实现客户端与服务端之间的通信,我们的Nginx也可以实现相应的代理服务.代理分为正向代理和反向代理,此文就来演示一下Nginx配置正向代理和反向代理的场景. 二.正向代理和反向代理的区别 正向代理和反向代理的区别我在知乎上找到两张图可以帮助我们很好的理解: 正向代理:客户端 <一> 代理 一>服务端 正向代理简单地打个租房的比方: A(客户端)想租C(服务端)的房子,但是A(客户端)并不认识C(服务端)租不

正向代理 、反向代理, 和 Linux系统配置nginx。

一.正向代理和反向代理的简单介绍. 2.代理 中间商,赚差价 在没有代理的时候: 茅台酒厂--->生产了一批酒--->通过物流发送到客户的家中/客户直接到酒厂购买酒--->突然有一个客户晚上需要情况吃饭(现在已经15:00)(客户在东北)-->耽误了各种情况 代理: 茅台酒厂--->开始招代理(省级)--->市的代理-->客户需要购买茅台酒的时候只需要代理商购买就可以 3.正向代理 场景: A向B借钱-->B不借-->A发现C和B关系很好(A和C关系很

学习Nginx之理解正向代理和反向代理

正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问那个我不能访问的网站于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容代理服务器去取回来,然后返回给我 从网站的角度,只在代理服务器来取内容的时候有一次记录有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站 结论就是 正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了

正向代理与反向代理的区别【Nginx读书笔记】

正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问那个我不能访问的网站于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容代理服务器去取回来,然后返回给我 从网站的角度,只在代理服务器来取内容的时候有一次记录有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站 结 论就是 正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为

正向代理、反向代理的详细解析

在此注明,本文转载于:http://z00w00.blog.51cto.com/515114/1031287 一.正向代理(Forward Proxy) 一般情况下,如果没有特别说明,代理技术默认说的是正向代理技术.关于正向代理的概念如下: 正向代理(forward)是一个位于客户端[用户A]和原始服务器(origin server)[服务器B]之间的服务器[代理服务器Z],为了从原始服务器取得内容,用户A向代理服务器Z发送一个请求并指定目标(服务器B),然后代理服务器Z向服务器B转交请求并将获

图解正向代理、反向代理、透明代理

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://z00w00.blog.51cto.com/515114/1031287 套用古龙武侠小说套路来说,代理服务技术是一门很古老的技术,是在互联网早期出现就使用的技术.一般实现代理技术的方式就是在服务器上安装代理服务软件,让其成为一个代理服务器,从而实现代理技术.常用的代理技术分为正向代理.反向代理和透明代理.本文就是针对这三种代理来讲解一些基本原理和具体的适用范围,便于大家更深入理