• Nginx学习笔记06——Nginx反向代理


    正向代理和反向代理

    正向代理
    用户和外网不能互通,通过代理服务器将用户请求发送给外网
    在这里插入图片描述
    反向代理
    用户和nginx是互通的,用户和应用服务器是不互通的,用户发送请求到nginx,nginx作为代理将请求发送给应用服务器(如tomcat等),tomcat接受nginx的请求处理好后将结果发送给nginx,nginx将结果发送给用户
    如下图,是隧道式代理(瓶颈在于nginx代理服务器,即使应用服务器的带宽很大,但是如果代理服务器的带宽很小,那么请求都会阻塞到代理服务器)
    在这里插入图片描述
    反向代理和正向代理的区别是代理服务器的提供方不同,对于反向代理,nginx是由服务提供方提供的,对于正向代理,代理服务器是由用户自己提供的

    如何解决隧道式代理的问题呢?
    DR模型:
    用户发送请求到代理服务器,代理服务器正常将请求发送给应用服务器,在应用服务器处理完请求后直接将结果发送给用户,不经过代理服务器,LVS负载均衡器既可以使用DR模型,也可以使用隧道式代理模型

    传统公司系统架构:
    在这里插入图片描述
    中小型互联网公司项目架构:
    在这里插入图片描述
    在这里插入图片描述

    反向代理到外网和内网主机的配置

    克隆两台虚拟机,后面配置代理内网主机和之后负载均衡的时候会用到(后面是对应的ip地址)
    在这里插入图片描述

    反向代理外网主机(以www.4399.com为例):
    修改一台虚拟机(我使用的是CentOS7-1,别的也可以)的配置文件,目录为/usr/local/nginx/conf,使用proxy_pass配置外网地址,下面两行注释掉
    在这里插入图片描述
    重启nginx服务器
    在这里插入图片描述

    在浏览器中访问这台虚拟机的ip地址,发现可以代理到外网主机
    在这里插入图片描述
    按F12查看网络部分的第一个请求,请求的URL是虚拟机的ip地址,状态码是301,表示重定向,在响应头中可以看到重定向到了www.4399.com这个地址上
    在这里插入图片描述

    反向代理内网主机(CentOS7-1代理到CentOS7-2):

    在这里插入图片描述
    修改CentOS7-2的index.html文件
    目录为/usr/local/nginx/html
    在这里插入图片描述
    修改CentOS7-1的配置文件,目录为/usr/local/nginx/conf,还是使用proxy_pass,这次后面是CentOS7-2的ip地址
    在这里插入图片描述
    重启CentOS7-1,重新加载配置文件
    在这里插入图片描述
    在浏览器中访问CentOS7-1的ip地址,显示的是CentOS7-2的index.html,说明成功代理到了CentOS7-2
    在这里插入图片描述

  • 相关阅读:
    一、【redux】redux简介 mini版求和Demo
    使用setuptools构建python包
    Linux入侵应急响应与排查
    使用IDEA创建Vue3通过Vite实现工程化
    【递归】汉诺塔问题(Java版)
    EATON XV-440-10TVB-1-13-1工业显示屏模块
    win10解决,你没有权限打开该文件,请向文件的所有者或管理员申请权限
    固定元素宽度根据文本的长度缩小字号,超出缩小字号
    QT+OSG/osgEarth编译之二十四:libbz2+Qt编译(一套代码、一套框架,跨平台编译,版本:libbz2-1.0.6)
    深入理解WPF布局子系统
  • 原文地址:https://blog.csdn.net/weixin_46116099/article/details/125405514