nginx反向代理

正向代理和反向代理的区别

好久不见. 提交于 2019-11-29 06:09:16
正向代理 A同学在大众创业、万众创新的大时代背景下开启他的创业之路,目前他遇到的最大的一个问题就是启动资金,于是他决定去找马云爸爸借钱,可想而知,最后碰一鼻子灰回来了,情急之下,他想到一个办法,找关系开后门,经过一番消息打探,原来A同学的大学老师王老师是马云的同学,于是A同学找到王老师,托王老师帮忙去马云那借500万过来,当然最后事成了。不过马云并不知道这钱是A同学借的,马云是借给王老师的,最后由王老师转交给A同学。这里的王老师在这个过程中扮演了一个非常关键的角色,就是 代理 ,也可以说是正向代理,王老师代替A同学办这件事,这个过程中,真正借钱的人是谁,马云是不知道的,这点非常关键。 我们常说的代理也就是只正向代理,正向代理的过程,它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求,某些网络代理工具扮演的就是典型的正向代理角色。用浏览器访问 http://www.google.com 时,被残忍的block,于是你可以在国外搭建一台代理服务器,让代理帮我去请求google.com,代理把请求返回的相应结构再返回给我。 反向代理 大家都有过这样的经历,拨打10086客服电话,可能一个地区的10086客服有几个或者几十个,你永远都不需要关心在电话那头的是哪一个,叫什么,男的,还是女的,漂亮的还是帅气的,你都不关心

Nginx反向代理

自作多情 提交于 2019-11-29 03:22:00
首先; 安装Nginx vim nginx.conf(反向代理) worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream default_server { server 192.168.184.152 weight=1; server 192.168.184.153 weight=1; } server { listen 80; server_name www.yunjisuan.com; location / { proxy_pass http://default_server; #root html; #index index.html index.htm; } } } [root@wangxiong conf]# /usr/local/nginx/sbin/nginx [root@wangxiong conf]# vim /etc/hosts [root@wangxiong html]# mkdir www [root@wangxiong html]# ls 50x.html index.html www

nginx的反向代理

倾然丶 夕夏残阳落幕 提交于 2019-11-29 01:44:04
摘要:nginx是很强大的一种反向代理服务器,本文是说nginx的反向代理。 1、正向代理和反向代理: 正向代理:客户端向目标服务器无法向某服务器发送请求,于是客户端先将请求发送至第三方服务器(代理服务器),让第三方服务器转发至目标服务器,这样目标服务器就不知道真正的客户端是我,只会以为客户端是代理服务器,这样是不安全的,因为真正的服务器是处于暴露情况下的。 反向代理:客户端向代理服务器发送请求,此服务器收到请求后,将请求转发至真正的服务器,对于客户端来说,它以为真正的服务器就是代理服务器,这样真正的服务器就是出于不暴露状态,比较安全。 两种代理的区别就是: 正向代理的话,客户端知道真正的服务器地址,反而服务器不知道真正的客户端地址 反向代理的话,客户端不知道真正的服务器地址,只知道代理服务器的地址,服务器可以通过代理服务器知道发送请求的客户端是谁,前提是只有一台反向代理服务器,如果存在多台反向代理服务器,服务器也不一定知道真正的客户端是谁(需要一层一层向上追查IP)。 2、Linux上配置nginx的反向代理:  (1)将nginx压缩包上传至Linux服务器上;  (2)解压 tar -zxvf XXX  (3)安装nginx所需要的配置包和创建快捷方式:   注意:先安装nginx所需要的配置包,再创建快捷方式,如果先创建快捷方式,就会报错:   ./configure:

网站系统用的架构演变过程

丶灬走出姿态 提交于 2019-11-29 01:37:14
1. 概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。 2. 基本概念 在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍: 分布式 系统中的多个模块在不同服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在不同的服务器上,或两个相同功能的Tomcat分别部署在不同服务器上 高可用 系统中部分节点失效时,其他节点能够接替它继续提供服务,则可认为系统具有高可用性 集群 一个特定领域的软件部署在多台服务器上并作为一个整体提供一类服务,这个整体称为集群。如Zookeeper中的Master和Slave分别部署在多台服务器上,共同组成一个整体提供集中配置服务。 在常见的集群中,客户端往往能够连接任意一个节点获得服务,并且当集群中一个节点掉线时,其他节点往往能够自动的接替它继续提供服务,这时候说明集群具有高可用性 负载均衡 请求发送到系统时,通过某些方式把请求均匀分发到多个节点上,使系统中每个节点能够均匀的处理请求负载,则可认为系统是负载均衡的 正向代理和反向代理 系统内部要访问外部网络时,统一通过一个代理服务器把请求转发出去,在外部网络看来就是代理服务器发起的访问

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

末鹿安然 提交于 2019-11-29 01:36:41
一、正向代理和反向代理的简单介绍。 2.代理 中间商,赚差价 在没有代理的时候: 茅台酒厂--->生产了一批酒--->通过物流发送到客户的家中/客户直接到酒厂购买酒--->突然有一个客户晚上需要情况吃饭(现在已经15:00)(客户在东北)-->耽误了各种情况 代理: 茅台酒厂--->开始招代理(省级)--->市的代理-->客户需要购买茅台酒的时候只需要代理商购买就可以 3.正向代理 场景: A向B借钱-->B不借-->A发现C和B关系很好(A和C关系很好)-->A拜托C向B借钱(不要说是我借的)-->C就找B借钱-->B把钱借给C-->C把钱给A-->B并不知道谁真正在向自己借钱-->A达到了自己的目的 定义: 客户端向真实的服务器端发送请求,但是出于某种原因无法向真实的客户端发送请求,客户端就找到代理服务器,把请求发送给代理服务器,再由代理服务器把请求发送给真实的服务器,真实服务器并不知道具体访问我的客户端是谁(真实服务器看到的访问自己的是代理,并不是真实的客户端) 特点: 正向代理是和客户端在一起的,所有的配置都必须在客户端完成,真实的服务器端并不知道真实的客户端是谁 4.反向代理 场景: 某个人向某个单位打电话-->打给单位的总机-->总机会根据这个人的描述(找到某个部门,某个人)-->转接到这个部门(该部门有5个人)-->打电话的人知不知道具体是这个部门的哪一个人接听

Nginx的基本配置与优化

冷暖自知 提交于 2019-11-29 00:57:20
Nginx官方地址: http://nginx.org/en/ Nginx中文文档: http://www.nginx.cn/doc/ Nginx的配置文件: nginx.conf,默认在安装目录的conf目录下 Nginx 的配置组成: .... events{ .... } http{ .... serer{ .... } serer{ .... } .... } Nginx 的基本配置: #运行用户 user www-data; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; #工作模式及连接数上限 events { use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能 worker_connections 1024;#单个后台worker process进程的最大并发链接数 # multi_accept on; } #设定http服务器,利用它的反向代理功能提供负载均衡支持 http { #设定mime类型,类型由mime.type文件定义 include /etc/nginx/mime

10.Nginx反向代理

六眼飞鱼酱① 提交于 2019-11-29 00:35:11
1. Nginx代理服务基本概述 1.1 什么是代理 代理一词往往并不陌生, 该服务我们常常用到如(代理理财、代理租房、代理收货等等),如下图所示 1.2 没有代理情景 在没有代理模式的情况下,客户端和Nginx服务端,都是客户端直接请求服务端,服务端直接响应客户端。 1.3 企业场景 那么在互联网请求里面,客户端往往无法直接向服务端发起请求,那么就需要用到代理服务,来实现客户端和服务通信,如下图所示 2. Nginx代理服务常见模式 Nginx作为代理服务,按照应用场景模式进行总结,代理分为正向代理、反向代理 2.1 正向代理 正向代理,(内部上网)客户端<—>代理->服务端 2.2 反向代理 反向代理,用于公司集群架构中,客户端->代理<—>服务端 2.3 正向代理与反向代理的区别 1.区别在于形式上服务的”对象”不一样 2.正向代理代理的对象是客户端,为客户端服务 3.反向代理代理的对象是服务端,为服务端服务 3. Nginx代理服务支持协议 Nginx作为代理服务,可支持的代理协议非常的多,具体如下图 3.1 反向代理使用协议 如果将Nginx作为反向代理服务,常常会用到如下几种代理协议,如下图所示 模块总结 反向代理模式与Nginx代理模块总结如表格所示 反向代理模式 Nginx配置模块 http、websocket、https ngx_http_proxy_module

Redis简单案例(四) Session的管理

给你一囗甜甜゛ 提交于 2019-11-28 23:04:28
  负载均衡,这应该是一个永恒的话题,也是一个十分重要的话题。毕竟当网站成长到一定程度,访问量自然也是会跟着增长,这个时候, 一般都会对其进行负载均衡等相应的调整。现如今最常见的应该就是使用Nginx来进行处理了吧。当然Jexus也可以达到一样的效果。既然是 负载均衡,那就势必有多台服务器,如果不对session进行处理,那么就会造成Session丢失的情况。有个高大上的名字叫做分布式Session。   举个通俗易懂的例子,假设现在有3台服务器做了负载,用户在登陆的时候是在a服务器上进行的,此时的session是写在a服务器上的,那 么b和c两台服务器是不存在这个session的,当这个用户进行了一个操作是在b或c进行处理的,而且这个操作是要登录后才可以的,那么就会 提示用户重新登陆。这样显然就是很不友好,造成的用户体验可想而知。   背景交待完毕,简单的实践一下。 相关技术 说明 ASP.NET Core 演示的两个站点所用的技术 Redis 用做Session服务器 Nginx/Jexus 用做反向代理服务器,演示主要用了Nginx,最后也介绍了Jexus的用法 IIS/Jexus 用做应用服务器,演示用了本地的IIS,想用Jexus来部署可参考前面的相关文章   先来看看不进行Session处理的做法,看看Session丢失的情况,然后再在其基础上进行改善。   在ASP

Nginx深入浅出(知识待补充)

旧巷老猫 提交于 2019-11-28 21:47:38
Nginx 1、nginx的三个应用场景 图解:一个web请求会,会经过nginx,在到引用服务,比如tomcat,Django,然后在去访问Redis,mysql提供基本的数据功能,注释(应用服务要求开发效率非常的高,所以它的运行效率是很低的它的QPS,DBS,TPS还有并发都是受限的,所以要把这些应用做成集群,像客户提供高可用性,)而一旦很多服务做成集群的时候,这里就需要nginx需要反向代理功能,可以把动态请求,传导给应用服务,而很多应用服务做成集群,它一定会带来俩个需求,第一个需要动态的扩容,第二个问题某些服务器出现问题,需要做容灾。这样nginx必须具备反向代理功能。其次在这样的链路中nginx处于在公司内网边缘节点,随着网络链路的增长,用户体验到的时延会增加,所有我们能把一些客户看起来不变的或者在一段时间内看起来不变的动态内容缓存在nginx部分,由nginx直接向用户提供服务,这样用户的时延就会减少很多,所以反向代理衍生出另外一个功能(缓存)它能加速客户的访问,而很多时候我们访问css,或者JavaScript,js文件或者像一些小图片,那么这样的静态资源是没有必要用应用服务来访问的,它只需要通过本地文件系统上放置的静态资源,直接用nginx访问就可以了,这就是nginx静态资源共能。第三个应用场景:应用服务它本身的性能因为有很多的问题

Nginx grpc反向代理

半城伤御伤魂 提交于 2019-11-28 19:45:04
L111 https://grpc.io/ grpc官网 首先Grpc 默认编译进Nginx 但是依赖http_v2模块 需要编译进nginx 具体指令可以参考Nginx http 反向代理 指令都类似 分布式反向代理 server { server_name shop**.com.cn; root html; location / { grpc_pass localhost:50051; //这里指向GRPC服务端 } listen 4431 http2; # managed by Certbot 这里要注意 要去掉 ssl ssl_certificate /etc/letsencrypt/live/http2.taohui.tech/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/http2.taohui.tech/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } 来源: