Nginx玩法 — 反向代理

Nginx的反向代理是一块比较常用且重要的功能,查看一下关于反向代理的指令,你就体会到有多重要了,否则也不会给出20+的指令,翻看一下在上一篇正向代理用到的指令,一个手的就能数的完了。

那么在开始愉快玩耍之前还是要先搞清楚,这个反向代理到底是什么意思。

举个例子

    有这么一天,狐朋带着狗友,去市区中心吃饭,由于这地段只有这一家川菜馆,所以生意火爆,
川菜馆事先将常见的菜品都准备好,
但是依然无法满足需求量,川菜馆就雇佣了多个大厨,这些大厨手艺有高有低,其中有一个大厨外号“盐不要钱”,
恰好给狐朋狗友做菜的就是他,
狐朋狗友吃了这菜后,差点没过去,如果不是餐馆经理拦着估计就是给“盐不要钱”一顿好果子,
最终餐厅辞退了“盐不要钱”,狐朋狗友将剩菜剩饭打包后带走

我们可以将狐朋和狗友看作是客户端,川菜馆看作是反向代理服务器,厨子们是最终的服务器,可以简单看作反向代理包含着最终服务器

特点

由上述例子可以看出反向代理的几个特点

1. 具有加速访问的功能(事先准备好常见的菜品)
2. 对客户端隐藏了真正的服务端(客户并不知道,哪个大厨做的)
3. 对服务器具有保护作用(餐厅工作人员屏蔽掉了狐朋狗友想打厨子的请求)
4. 具有信息增强和筛选的功能(将不同的菜品分给凉菜师傅和热菜师傅,口味还要看师傅心情)

使用

简单的Hello World,将代码嵌入到 http 代码块中即可。

server{listen 80;server_name localhost;location / {proxy_pass http://127.0.0.1:8080;}
}

我们看一下这几个参数:

1. listen 代理监听的端口号,根据自己的情况编写即可
2. server_name 服务名称用于匹配请求,也可以写成自定义的域名,但需要额外的映射配置
3. location 监听全部请求,根据需求追加修改规则
4. proxy_pass 配置被代理地址可以是ip也可以是主机名称,还可以是upstream(后续说到)

这样我们一个基础的反向代理就搭建完成了,nginx -s reload 重新加载配置后,试着跑一下

这样我就看到了代理的 tomcat ,再查看一下我们的日志

扩充

接下来我们再看一下反向代理常用的一些指令

  1. proxy_pass upstream 通常我们会开启多个服务提高系统的可用性,在nginx中通过定义upstream将多个服务划分为一个组供代理使用,同时还可以设置模式,常见有顺序模式,权重模式和哈希模式,就是再原有基础上增加参数即可具体可参考其他博文的写法
  2. 信息头和信息主体的指令,
    . proxy_hide_header 隐藏的头域信息
    . proxy_pass_header 设置被转发的头域信息
    . proxy_pass_request_body 是否将客户端请求发送给代理服务器
    . proxy_pass_request_headers 是否将请求头发送给代理服务器
    . proxy_set_header 修改客户端请求头域信息
    . proxy_set_body 修改客户端请求体信息
  3. 时间相关
    . proxy_connect_timeout nginx与被代理服务建立连接的超时时间
    . proxy_read_timeout read请求等待响应的超时时间
    . proxy_send_timeout write请求等待响应的超时时间
    . 以上默认时间都是60秒
  4. 还有一些关于缓存,缓冲和请求相关的指令暂时不一一列举,后续还有机会

暂且书写至此。

Nginx玩法 — 反向代理相关推荐

  1. Nginx玩法 — 正向代理

    Nginx玩法 - 正向代理 正向代理 你请求代理帮你完成某件事情,代理将办理结果通知回你 举个例子比如: 你去商店买了一瓶水,店员直接卖给你一瓶,这中间没有任何其他参与者,你和店员之间就相当于没有代 ...

  2. Nginx http和反向代理配置实例介绍

    Nginx  是一个高性能的 HTTP 和反向代理服务器,本节以实际实例介绍如何实现Nginx 反向代理. 1.  安装Nginx 安装Nginx之前,首先安装相关模块的依赖库: 这里安装Pcre和O ...

  3. nginx静态资源反向代理

    nginx静态资源反向代理 server { listen 80; server_name music.didi365.com; index index.php index.html index.ht ...

  4. Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中

    场景 Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detai ...

  5. 【转】Nginx服务器的反向代理proxy_pass配置方法讲解

    [转]Nginx服务器的反向代理proxy_pass配置方法讲解 转自:http://www.jb51.net/article/78746.htm 就普通的反向代理来讲 Nginx的配置还是比较简单的 ...

  6. Nginx(三):反向代理

    我们本篇将通过两个实例进行对Nginx反向代理的学习. 1.概念基础 反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就是可以访问.我们只需要将请求发送到反向代理服务器上,有反向代理服务 ...

  7. Nginx实现HTTP反向代理配置

    Nginx实现HTTP反向代理配置 无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教 ...

  8. 分布式项目-Nginx安装(反向代理)

    可以根据parent_id来查询分类的列表 服务器上的图片是如果管理的? 1.如果是分布式环境引用会存在问题 2.图片的下载也会给服务器增加压力 3.如果存在高并发的话,就需要增加tomcat服务器, ...

  9. history模式 nginx配置_nginx反向代理部署vue项目(history模式)的方法

    前言: 根据标题我们要区分出两个信息 1. history 模式部署 ( vue的路由模式如果使用history,刷新会报404错误.) 2. Nginx 做反向代理 问题1思考: vue-route ...

最新文章

  1. ssh tar 命令把远程文件拉回来或推过去
  2. 硬件信息统计_读取输出Excel_显示进度
  3. [转]国内各大互联网公司相关技术站点2.0版 (集合腾讯、阿里、百度、搜狐、新浪、360等共49个)...
  4. 创新创新再创新(4)
  5. Citrix WebInterface 安装指导
  6. 后端生成Token架构与设计详解
  7. Vue + Element UI——监听DOM元素高度和宽度解决方案整理(八种方法)
  8. 独立版Jexus配置SSL,支持https访问
  9. LwIP之ICMP协议
  10. 用python为喜欢的人写一个程序,每天发送贴心的消息
  11. Windows Phone 7知识锦分享【第二季】
  12. mysql建三行三列表格_基于另一个表中列的名称在mysql中创建表
  13. SSM框架使用拦截器和过滤器实现登录的拦截
  14. python乱码转中文_Python中文乱码问题(转)
  15. ArchLinux下安装steam
  16. 【项目】数据仓库概述
  17. 洪水填充算法_计算机图形:洪水填充算法
  18. 【JAVA】java递归测试考拉兹猜想/冰雹猜想
  19. 切图具体需要切什么内容_UI日常-切图切图怎么破?
  20. 千锋深圳校区相亲会 双蛋之夕不再孤单

热门文章

  1. 微信的机器学习与人工智能应用实践
  2. 如何利用LabVIEW连接测试仪器并进行仪器操作
  3. 微信内置浏览器清除缓存、cookie、local storage清除(安卓手机)
  4. 【设备管理系统】如何助力制造企业实现精益生产?
  5. EP2嵌入式宏空间坐标数量
  6. JVM 启动参数详解:博观而约取、厚积而薄发
  7. 茅侃侃的情义江湖:不只有商业
  8. 001word行距与字体大小
  9. rac 火星舱如何备份oracle_Oracle RAC环境下归档日志的备份
  10. python Django在线计算器