【五、反向代理及其相关配置】

2023-11-05

反向代理及其相关配置

1.反向代理

服务器提供的代理为反向代理

原理:当用户向服务器请求资源时,他会 首先进过Nginx,由Nginx再向服务器请求资源,得到资源后,服务器首先会把资源发送到Nginx上,然后由Nginx在发送给用户,此时Nginx就是反向代理服务器。

在这里插入图片描述

2.正向代理

用户提供的代理为正向代理(socket代理,http代理等)

在这里插入图片描述

3.网关

正向代理服务器、反向代理服务器与网关本质上是一样的。

访问网络的入口就是网关,例如家庭中的路由器就相当于一个网关,我在家用手机,平板等上网,访问资源等都会打到网关上,在传输出去。通俗一点网关就相当于学校的大门,你想出去,必须经过大门。

网关特点:中转。

用户访问资源,都需要打进网关,当通过网关将请求发送到服务器,服务器又会把信息,传到网关 ,最后传递给用户。

问题:当用户请求多的,流量大的时候,如果网关上限带宽不大的时候,就会发生阻塞。

解决方法:只能加大代理服务器的带宽。

4. Nginx做反向代理的缺点

因为nginx代理的带宽,决定了用户集群的网络带宽,在比较高的io操作,nginx做反向代理,效果不明显。

解决方案:当用户请求服务器时,必须经过nginx,但是当服务器返回数据是,直接打到用户,不在经过nginx(DR模型

在这里插入图片描述

5.反向代理配置

1.跳转到外网网站上

用到proxy_pass 关键字设置

proxy_pass后面有俩种配置方法

  1. 可以是代理的地址,这个地址可以是一台主机或者一个网址

  2. 可以把它配成一组服务器(下面先配一个服务器)

在这里插入图片描述

worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost; 

        location / {
             proxy_pass   http://www.baidu.com;             //只有这个地方改变了
            #root   html;
            #index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

}

运行结果:

在这里插入图片描述

2.跳转到本机服务器上

设置俩台虚拟主机:这里一个ip:192.168.56.136,另一个是192.168.56.137

在这里插入图片描述

我用的是桥接的方法,直接nat方法和仅主机方法都试过了,但是俩台虚拟机都ping不通。

注意

  • 在代理到网站的时候,虚拟机需要Ping通外网才可以

  • 在代理本机服务器时,俩台虚拟机需要ping通才可以。(你想代理哪个服务器,你就需要和谁ping通)

修改网络配置命令

vi /etc/sysconfig/network-scripts/ifcfg-ens33

CentOS7配置情况:(ip:192.168.56.136)

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="DHCP"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="b73ab354-05d7-4492-87df-d537a32120bd"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.56.136
NETMASK=255.255.255.0
GETWAY=192.168.56.2
DNS1=8.8.8.8

Nginx配置情况:(ip:192.168.56.137)

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="DHCP"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="b73ab354-05d7-4492-87df-d537a32120bd"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.56.137
NETMASK=255.255.255.0
GETWAY=192.168.56.2
DNS=8.8.8.8
         

配置centos7中的nginx.conf文件文件只修改了一个地方

worker_processes  1;




events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;


    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;


        location / {
            proxy_pass http://192.168.56.137;         //只有这一个地方变了
            #root   html;
            #index  index.html index.htm;
        }

       
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

}

配置nginx2中的nginx.conf文件文件没有修改,保持默认情况

worker_processes  1;


events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;


    sendfile        on;


    keepalive_timeout  65;


    server {
        listen       80;
        server_name  localhost;


        location / {
            
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

      
    }


}

为了区分默认的root下的html,将192.168.56.137下面的html文件改为

在这里插入图片描述

在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
</head>
<body>
<body style="background-color: pink">
<h1>192.168.56.137</h1>
</body>
</html>

运行结果:(通过在网址中输入192.168.56.136,由于设置了proxy_pass他会跳转到192.168.56.137,然后显示137下面的html文件)

在这里插入图片描述

在这里插入图片描述

目前只是代理一台服务器,可以代理到多台服务器上

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【五、反向代理及其相关配置】 的相关文章

随机推荐

  • 黑马JAVA P174 线程池概述、线程池的7个参数详解

  • Java Spring注解二:参数请求@RequestParam和@RequestBody

    作为一名crud boy 关于web请求 接口处理基本是家常便饭 涉及到这些中间肯定少不了请求参数 毕竟要根据请求参数才能进行相应的操作 返回预想的结果 一般来说我们web请求参数是不能直接通过http请求来代码识别的 所以你必须要通过注解
  • 关于上采样方法总结(插值和深度学习)

    一 简介 上采样的技术是图像进行超分辨率的必要步骤 最近看到了CVPR2019有一些关于上采样的文章 所以想着把上采样的方法做一个简单的总结 看了一些文章后 发现上采样大致被总结成了三个类别 1 基于线性插值的上采样 2 基于深度学习的上采
  • 十大经典排序算法动画与解析

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 排序算法是 数据结构与算法 中最基本的算法之一 排序算法可以分为内部排序和外部排序 内部排序是数据记录在内存中进行排序 而外部排序是因排序的数据很大 一次不能容纳全部的排序
  • python画图

    python画图 导入模块numpy 命名为np方便后续使用 import numpy as np numpy可进行数组和矩阵运算 提供大量的数学函数库 import matplotlib pyplot as plt matplotlib是
  • 无向图邻接表的深度优先遍历(DFS)

    邻接表是图的一种链式存储结构 对图的每个顶点建立一个单链表 n个顶点建立n个单链表 头文件 Graph h ifndef GRAPH H define GRAPH H define MAXSIZE 50 typedef char Verte
  • QT+PCL+VS制作点云显示界面(彩色显示xyz点云)

    前言 最近正学习QVTKWidget插件显示点云 参考博文 https blog csdn net wokaowokaowokao12345 article details 51078495 时发现其提供的官方编译样只能例打开XYZRGB的
  • python pip在哪个文件夹运行_python pip源配置,pip配置文件存放位置的方法

    pip源配置文件可以放置的位置 Linux Unix etc pip con pip pip conf 每一个我都找了都没有 所以我是在这个文件夹中创建的pip conf文件 config pip pip conf Mac OSX Libr
  • java自定义findbugs规则_findbugs自定义规则并配置实现检测

    findbugs不过多介绍了 对于这个主题找了一些资料 没有找到一个完整的介绍 要么是介绍怎么写detector 要么就是没有完整的介绍怎么配置生效 下面主要介绍一下怎么配置其生效 至于怎么写这个detector还是有很多资料说明的 不过在
  • 51单片机I/O口灌电流、拉电流、上拉电阻的联系

    一 灌电流 拉电流 我们可以通过编写程序直接控制单片机的I O口的电平是高还是低 但是却控制不了电流的大小 而电流又涉及到了驱动能力的问题 也就是说能不能带动你所加的负载 1 1什么是灌电流 拉电流 如图1 单片机 p1 0口 输出低电平时
  • Wireless Password 【HDU - 2825】【AC自动机+状压DP】

    题目链接 好题一道 推了一会 然后计算了一下时间复杂度 差不多最坏情况是25 100 1024 26 66560000然后看了下 嗯 能搞 有搞头哈哈哈 然后写了一下 首先 WA了 发现竟然是最大极限哪儿写错了 我的个天呐 A 我们看到最多
  • Hibernate 一对一关系(基于XML)

    场景 当一个实体跟另一个实体存在一对一关系时 就可以用hibernate的one to one mapping来处理啦 本教程将会讲解如何用hibernate来解决两个存在1对1关联关系的表之间的级联save问题 本教程用到的开发工具和技术
  • 2022年全网首发

    整篇文章约2 5万字 不包含引用和连接内容 回顾过去 2019 2020年 2021年 本文的行文思路 第一部分 学习路径概览 编程语言 Linux基础 数据库入门 计算机基础 Java基础 分布式理论篇 网络通信篇 离线计算篇 消息队列篇
  • Word2Vec和Doc2Vec模型

    NLP初级教程 刘建平博客 word2vec参数调整 及lda调参 Word2vec和Doc2vec原理理解并结合代码分析 基于gensim的Doc2Vec Word2Vec Word2Vec是Google在2013年开源的一款将词表征为实
  • Idea快捷键大全(Windows)

    一 知道类名查找类 1 Ctrl Shift Alt N 2 双击Shift 二 查找类中所有方法 Ctrl F12 三 快速查找类或方法在整个项目中的位置 按住Ctrl键再点击类或方法会出现所有用到过的文件对象
  • Map集合案例-统计投票人数

    需求 某个班级80名学生 现在需要组成秋游活动 班长提供了四个景点依次是 A B C D 每个学生只能选择一个景点 请统计出最终哪个景点想去的人数最多 利用Map集合进行统计 A06 HashMapDemo2 java package da
  • MySQL主从复制搭建步骤详解

    MySQL主从复制搭建步骤详解 1 简介 MySQL主从复制是一种数据库高可用性的解决方案 通过将数据从一个MySQL主服务器同步到一个或多个从服务器来提高数据库的可用性和性能 本文将详细介绍如何搭建MySQL主从复制环境 2 环境准备 在
  • linux下Nerdtree安装方法

    目录 1 下载Nerdtree 2 linux下安装 3 成功享受吧 1 下载Nerdtree 百度网盘下载 地址为链接 百度网盘 请输入提取码 提取码 07e3 来自百度网盘超级会员V4的分享 github方式下载 地址为 https g
  • 字符串 去掉空格 C++

    去掉空格 时间限制 1Sec 内存限制 128MB 提交 5807 解决 3117 题目描述 读入一些字符串 将其中的空格去掉 输入 输入为多行 每行为一个字符串 字符串只由字母 数字和空格组成 长度不超过80 输入以 End of fil
  • 【五、反向代理及其相关配置】

    文章目录 反向代理及其相关配置 1 反向代理 2 正向代理 3 网关 4 Nginx做反向代理的缺点 5 反向代理配置 1 跳转到外网网站上 2 跳转到本机服务器上 反向代理及其相关配置 1 反向代理 服务器提供的代理为反向代理 原理 当用