Nginx-反向代理详解

news2025/1/15 19:49:33
本文已收录于专栏
《中间件合集》

目录

  • 概念说明
    • 什么是Nginx
    • 什么是反向代理
  • 功能介绍
  • 配置过程
    • 1.修改nginx配置文件
      • 修改全局模块
      • 修改工作模块
      • 修改HTTP模块
    • 2.保存配置文件
    • 3.重启配置文件
    • 4.查看配置文件是否重启成功
  • 配置反向代理的好处
  • 总结提升

概念说明

什么是Nginx

  Nginx 是一个高性能的开源 Web 服务器和反向代理服务器。它具有轻量级、高并发、低内存消耗等特点,被广泛用于搭建静态资源服务器、负载均衡、反向代理等场景。本文介绍nginx的反向代理,其他内容敬请期待!

什么是反向代理

  反向代理是一种代理服务器的配置模式,它代表服务器向客户端提供服务。客户端发送请求到反向代理服务器,然后反向代理服务器将请求转发到后端的真实服务器上,并将响应返回给客户端。简单理解为用户直接访问反向代理服务器就可以获得目标服务器的资源。这一过程叫反向代理
在这里插入图片描述

功能介绍

  Nginx 可以作为反向代理服务器,接收客户端的请求,并将请求转发到后端的真实服务器上。通过反向代理,可以实现负载均衡、缓存加速、SSL 终端、安全过滤等功能。

  • 「 负载均衡」:Nginx 可以通过反向代理实现负载均衡,将请求分发到多个后端服务器上,从而提高系统的并发处理能力和可用性。常见的负载均衡算法有轮询、IP 哈希、最少连接等。
  • 「 缓存加速 」:Nginx 可以缓存静态资源或动态页面,减少后端服务器的负载,提高响应速度。通过设置缓存时间、缓存规则等参数,可以灵活地控制缓存策略。
  • 「 SSL终端 」:Nginx 可以作为 SSL 终端,接收 HTTPS 请求并进行 SSL/TLS 解密,然后将解密后的请求转发给后端服务器。这样可以减轻后端服务器的负担,提高安全性和性能。
  • 「 安全过滤」:Nginx 可以通过反向代理实现安全过滤功能,例如防止恶意请求、DDoS 攻击、SQL 注入等。通过配置访问控制规则、限制请求频率等方式,可以提高系统的安全性。
  • 「 配置文件」:Nginx 的反向代理功能通过配置文件进行配置。配置文件包含了全局配置、http 配置和 server 配置等部分,可以设置监听端口、代理规则、缓存配置、负载均衡策略等。
  • 「 超高性能 」:Nginx 具有高性能的特点,采用异步非阻塞的事件驱动模型,可以处理大量并发连接。同时,Nginx 的内存消耗较低,适合在资源有限的环境中使用。

配置过程

1.修改nginx配置文件

1.1切换到nginx的conf路径下操作nginx的配置文件

cd /usr/local/openresty/nginx/conf

1.2防止修改错误可以先备份一下配置文件

cp nginx.conf nginx.conf.baks

1.3对配置文件进行修改

vim nginx.conf

修改全局模块

在这里插入图片描述

修改工作模块

在这里插入图片描述

修改HTTP模块

在这里插入图片描述
  include:用来设定文件的mime类型,类型在配置文件目录下的mime.type文件定义,来告诉nginx识别文件类型
  default_type:设定了默认的类型为二进制流,也就是当文件类型未定义时使用这种情况
在这里插入图片描述
在这里插入图片描述

2.保存配置文件

:wq

3.重启配置文件

cd ..   
./sbin/nginx -s reload

4.查看配置文件是否重启成功

ps -aux | grep nginx

在这里插入图片描述
  重启成功之后我们就可以在浏览器上通过访问服务器的ip地址或者域名后面拼接/百度就可以访问到百度的主页了。当然也可以配置其他的网页或者资源。

配置反向代理的好处

  通过使用 Nginx 反向代理,可以保护目标服务器的资源安全,节省有限的 IP 地址资源,并提高对服务器的访问速度。通过合理配置,可以灵活应对不同的需求,并提供安全、高性能的代理服务。

  1. 保护目标服务器的资源安全:Nginx 反向代理可以隐藏目标服务器的真实 IP 地址和端口,防止恶意用户直接攻击目标服务器。只有 Nginx 反向代理服务器对外可见,从而保护了目标服务器的资源安全。
  2. 节省有限的 IP 地址资源:由于 IPv4 地址资源有限,通过使用 Nginx 反向代理,可以将多个后端服务器隐藏在同一个公网 IP 地址后面。这样,可以节省 IP 地址资源并最大限度地提供服务。
  3. 提高对服务器的访问速度:Nginx 反向代理可以缓存静态资源,减少后端服务器的负载并提高响应速度。此外,Nginx 使用高效的事件驱动模型,能够处理大量并发连接。通过合理配置和使用,Nginx 反向代理可以提高对服务器的访问速度。

  需要注意的是,具体实现这些好处需要合理配置 Nginx 反向代理。例如,可以设置访问控制规则,限制对目标服务器的访问。另外,缓存配置可以根据业务需求进行定制,以提高响应速度。还可以结合其他模块,如 SSL 模块,通过配置 SSL/TLS 加密,加强对服务器的安全保护。

总结提升

  Nginx 是一个功能强大、性能优越的反向代理服务器,可以实现负载均衡、缓存加速、SSL 终端、安全过滤等功能。通过合理配置和使用,可以提高系统的可用性、安全性和性能。通过使用 Nginx 反向代理,可以保护目标服务器的资源安全,节省有限的 IP 地址资源,并提高对服务器的访问速度。通过合理配置,可以灵活应对不同的需求,并提供安全、高性能的代理服务。


🎯 此文章对你有用的话记得留言+点赞+收藏哦🎯

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/679029.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你真的会写 HelloWorld 吗?

目录 Hello World 写一个批处理命令行脚本 关于include 关于程序的入口 输出充定向 在内存的存储详情 WinHex工具介绍 初学C语言时,第一个程序一定是Hello World!。但是Hello World的具体实现细节你真的了解吗? Hello World C语言代码如下&#…

SSM国内热门景点推荐系统的开发-计算机毕设 附源码83762

SSM国内热门景点推荐系统的开发 摘 要 为了方便用户快速定位自己感兴趣的国内热门旅游景点信息,国内热门景点推荐系统应运而生。本系统的前端界面主要实现页面的美观和动态效果使之符合广大群众的审美观,后台主要使用的技术主要有Java编程语言&#xff0…

Paragon NTFS2023Mac读取、写入外置移动硬盘软件

在我们日常使用电脑时常常会出现NTFS格式分区,那你知道NTFS For Mac是什么?简单的理解就是让你在mac系统下,可以正常读写Windows的Ntfs格式的分区。其中还包括Windows NT 4,2000,XP,2003,Vista&…

springboot 新农村信息化管理与服务平台-计算机毕设 附源码83372

springboot 新农村信息化管理与服务平台 目 录 摘要 1 绪论 1.1新农村信息化概念 1.2研究内容 1.3springboot框架介绍 1.4论文结构与章节安排 2 新农村信息化管理与服务平台系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析…

如何用GitKeep提交和推送一个空目录或文件夹

目录 .Gitkeep简介 .Gitkeep是什么 如何用GitKeep提交和推送一个空目录或文件夹 结论 相关参考 .Gitkeep简介 Git是一个开发工具,帮助团队管理他们的源代码并有效地处理项目。通过GitHub或其他托管服务上传时,不可能包括空白/空目录。这是有问题的…

[Arduino] ESP32开发 - 基础入门与原理分析

实用 GPIO 用到再查,熟能生巧,别上来就背图,一天你就忘了! 仅输入引脚 下面的四个引脚由于内部没有上拉下拉电阻,所以仅仅支持输入信号 GPIO 34 GPIO 35 GPIO 36 GPIO 39 SPI Flash 闪存引脚 这些引脚都是对 ESP32 内…

【Java】以数组为例简单理解引用类型变量

我们首先要知道内存是一段连续的存储空间,主要用来存储程序运行时数据的,如果对内存中存储的数据不加区分的随意存储,那对内存管理起来将会非常麻烦,就像一个杂乱的房间,你如果想在这个房间里找一个东西的话,找起来就会…

怎么使用Sprng提供的容器去注册一个Bean对象(BeanFactory工厂)

目录 BeanFactory怎么使用Sprng提供的容器去注册一个Bean对象(BeanFactory工厂)总结 BeanFactory 怎么使用Sprng提供的容器去注册一个Bean对象(BeanFactory工厂) 重点:Spring容器,例如Beanfactory其实并没…

人生还需搏一搏,规划指南不可缺

前言 如题我的人生还需要再搏一搏,本篇文章,我将整理指定下个人目标计划,让这篇文章去指引自己去指导自己前进。敲下这一行字想起了高中时期的一段经历,在高一时我准备了一个小本子,按高一到高三每年每学期的期中&…

KeeperErrorCode = NoAuth for /hbase/tokenauth/keys

kerberos配置hbase出現問題 環境如下: 问题描述 想要在hadoop ha的場景上,基於kerberos配置hbase ha,出現了如下的bug org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode NoAuth for /hbase/runningat org.apache.…

C++ 第四弹动态内存管理

目录 1. C/C程序内存划分 2. C语言中内存管理的方式 3. new /delete 和 new[]/delete[] 4. void* operator new(size_t size) 和 void operator delete(void*) 可以重载的 5. 定义为new表达式 6. 常见的面试题 1. C/C程序内存划分 1. 栈 又叫堆栈 -- 非静态局部变量 / 函数…

PHP代码审计之环境配置

PHP代码审计之环境配置 前言一、PHP环境配置1.1 phpstudy和phpstorm下载配置1.2 Xdebug 配置1.3 phpstudy 基本使用1.4 phpstorm基本使用1.5 RIPR下载使用 二、代码审计配置文件2.5 PHP的核心配置(php.ini)1. safe_mode2. magic_quote_gpc3. magic_quote…

Maven学习1_将项目打包jar然后上传到GitHub、Nexus Sonatype仓库、搭建Sonatype私服

概述 主要学习记录Maven仓库相关知识,如何借助上传项目jar包到GitHub、Nexus Sonatype,,以及搭建自己的Nexus Sonatype私服,然后在Maven项目的pom文件引入使用,参考Maven官网文档:https://central.sonatype.org/publi…

【SQL应知应会】分析函数的点点滴滴(三)

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习,有基础也有进阶,有MySQL也有Oracle 分析函数的点点滴滴 1.什么是分析函数:…

HDFS写流程源码分析(一)-客户端

HDFS 写流程源码分析 一、客户端(一)文件创建及Pipeline构建阶段(二)数据写入(三)输出流关闭 二、服务端 环境为hadoop 3.1.3 一、客户端 以下代码创建并写入文件。 public void create() throws URISynt…

计网学习记录

ps:答案可能不正确噢。 1.什么是计算机网络体系结构?什么是网络协议?协议的三要素是什么?每个要素的含义是什么? 计算机网络体系结构: 我看书上也没说清啊。。。 (概念磨人啊) 什么是计算机的…

WPF 零基础入门笔记(1):WPF静态页面,布局+样式+触发器(更新中)

文章目录 官方文档往期回顾零基础笔记项目实战(已完结) WPF项目创建为什么选net core版本 WPF 静态页面WPF 页面布局WPF样式 官方文档 往期回顾 零基础笔记 WPF 零基础入门笔记(0):WPF简介 项目实战(已…

github 代码实战pycharm

文章目录 下载代码配置环境进入环境下载数据集使用pycharm训练模型 下载代码 配置环境 conda env create -f environment.yml 进入环境 conda activate pytorch-CycleGAN-and-pix2pix 下载数据集 搜索download_pix2pix_dataset.sh然后用记事本打开,会发现有一个…

SpringBoot 疫苗接种管理系统 -计算机毕设 附源码83448

SpringBoot疫苗接种管理系统 摘 要 在目前的形势下,科技力量已成为我国的主要竞争力。而在科学技术领域,计算机的使用逐渐达到成熟,无论是从国家到企业再到家庭,计算机都发挥着其不可替代的作用,可以说计算机的可用领…

【软件架构】软件的设计图纸(用例图,类图,状态图,活动图,顺序图)

【软件架构】软件的设计图纸(用例图,类图,状态图,活动图,顺序图)_bdview的博客-CSDN博客 按图索骥---软件的设计图纸 序: 我一直以为,在软件设计中,各种图要比文档重要的多。图可以更加直接的…