通俗易懂的 Nginx 反向代理 配置

通俗易懂的 Nginx 反向代理 配置

首先 root 与 alias 的区别

  1. root 是直接拼接 root + location
location /i/ {root /data/w3;
}

当请求 /i/top.gif ,/data/w3/i/top.gif 会被返回。

  1. alias 是用 alias 替换 location
location /i/ {alias /data/w3/images/;
}

当请求 /i/top.gif ,/data/w3/images/top.gif 会被返回

Nginx 反向代理 解决跨域

假设页面地址:http://192.168.31.115:8080

假设请求接口地址:http://v.juhe.cn/laohuangli/d?date=2014-09-09&key=dae46b9a6abb27fecaace80f47624f

配置Nginx

server {listen       8088;server_name  192.168.31.115;location / {proxy_pass http://192.168.31.115:8080/; //反向代理}location /laohuangli {proxy_pass http://v.juhe.cn/laohuangli;}
}

将页面地址代理到8088端口,将接口地址也代理到8088端口

页面中请求接口

fetch('http://192.168.31.115:8088/laohuangli/d?date=2014-09-09&key=dae46b9a6abb27fecaace80f47624f').then(res=>res.json()).then(res=>{console.log(res)})

访问页面:http://192.168.31.115:8088/

  1. server 块
    整个配置被包裹在一个 server 块内,这意味着以下所有配置都是针对这个特定的服务器实例的。

  2. listen 8088;
    作用:指定 Nginx 监听的端口号为 8088。
    说明:当客户端访问服务器的 192.168.31.115 地址时,需要通过端口 8088 来访问这个服务。例如,访问 http://192.168.31.115:8088。

  3. server_name 192.168.31.115;
    作用:定义服务器的名称为 192.168.31.115。
    说明:server_name 用于区分不同的虚拟主机。当请求的 Host 头部与这里指定的 server_name 匹配时,Nginx 会使用这个服务器块来处理请求。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

反向代理的优势

  • **安全性:**后端服务器的详细信息对客户端隐藏,提升了安全性。
  • **负载均衡:**可以将请求分发到多台后端服务器,提升处理能力。
  • **缓存:**Nginx可以缓存后端服务器的响应,减少后端负载,提高响应速度。
  • 统一入口:所有请求通过 Nginx 进行管理,便于统一配置
    SSL、压缩、限流等功能。

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

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

相关文章

【NLP高频面题 - 词嵌入篇】为什么说Word2vec的词向量是静态的?

【NLP高频面题 - 词嵌入篇】为什么说Word2vec的词向量是静态的? 重要性:★★ NLP Github 项目: NLP 项目实践:fasterai/nlp-project-practice 介绍:该仓库围绕着 NLP 任务模型的设计、训练、优化、部署和应用&#xf…

Android -- WebView之loadData加载html字符串显示网页

目录 前言1. loadUrl 加载网页地址2. loadData 加载Html字符来显示网页3. loadDataWithBaseURL4. 总结 前言 最近在给一个老项目做64位so文件的适配,当应用发布到应用市场上后,用户反馈64位手机上的网页加载不出内容,但32位的手机上是正常…

Docker在Ubuntu和CentOS系统下的安装

目录 1. 各版本平台支持情况2. 在Ubuntu系统下安装docker3. 常见报错4. Docker的镜像源修改5. Docker目录修改6. 在CentOS系统下安装docker 1. 各版本平台支持情况 (1)平台支持情况如下: Server 版本 桌面版本 2. 在Ubuntu系统下安装docker…

Ansible-Playbook基础学习

一.Ansible Playbook基本介绍 1.Playbook 介绍 Ansible Playbook 是 Ansible 的核心组件之一,它是一个用于配置管理、应用部署和任务自动化的文本文件,使用 YML格式编写。YML 的语法简洁明了,易于阅读和编写,使得用户可以方便地…

基于PHP课堂签到系统的设计与实现

摘 要 随着教育业的迅速发展和学生人数的不断增加,导致在班级登记制度中传统的“点到”方式不能适应学校的实际需要。从而需要设计一个好的课堂签到系统将会对课堂签到管理工作带来事半功倍的效果。文章着重介绍了基于实践应用的班级签到系统的开发流程&#xff0c…

【智体OS】官方上新发布智体电视:基于rtpc和rttouchpad实现智体电视的手机遥控-可安装任意PC应用用于智体电视

【智体OS】官方上新发布智体电视:基于rtpc和rttouchpad实现智体电视的手机遥控-可安装任意PC应用用于智体电视 dtns.network是一款主要由JavaScript编写的智体世界引擎(内嵌了three.js编辑器的定制版-支持以第一视角浏览3D场馆),…

保姆级教学 uniapp绘制二维码海报并保存至相册,真机正常展示图片二维码

一、获取二维码 uni.request({url: https://api.weixin.qq.com/wxa/getwxacode?access_token${getStorage("token")},responseType: "arraybuffer",method: "POST",data: {path: "/pages/index/index"},success(res) {// 转换为 Uint…

Vue.createApp的对象参数

目录 template 属性 data 属性 methods 属性 疑问 function 函数的两种写法 methods 属性中 this 的指向 总结 Vue 实例是通过 Vue.createApp() 创建的,该函数需要接收一个对象作为参数,该对象可添加 template、data、methods 等属性。 template …

LLM大语言模型私有化部署-OpenEuler22.03SP3上容器化部署Ollama与OpenWebUI

背景 你是不是也有私有化部署大模型的需求?如今有了 Ollama , HuggingFace , ModelScope 等开源平台,我们可以非常方便地搭建一个属于自己的大模型,如果网速给力,真是分分钟~~。简单起见,这篇文…

Linux——rootfs根文件系统构建

根文件系统也叫做rootfs FATFS这类的文件系统属于Linux内核的一部分,属于软件代码,所以ROOTFS不等于FATFS。 Linux的根文件系统实际上是一个文件夹或者叫目录,这个目录下会有许多子目录,这些目录中存放许多Linux运行所必须的文件…

go语言的成神之路-标准库篇-os标准库

一、权限 在操作系统(OS)中,标准库的权限管理是非常重要的,它确保了不同用户和进程能够安全地访问系统资源。以下是一些常见的权限概念和说明: 1.用户权限 用户ID(UID):每个用户在…

【OpenCV】直方图

理论 可以将直方图视为图形或曲线图,从而使您对图像的强度分布有一个整体的了解。它是在X轴上具有像素值(不总是从0到255的范围),在Y轴上具有图像中相应像素数的图。 这只是理解图像的另一种方式。通过查看图像的直方图,您可以直观地了解该…

【PlantUML系列】用例图(三)

目录 一、组成部分 二、典型案例 一、组成部分 参与者(Actors):使用关键字 actor 后跟参与者的名称。用例(Use Cases):使用关键字 usecase 后跟用例的名称和编号(可选)。系统边界…

Transformer部分知识点解释

传统Transformer 经典QKV算法 Transformer架构的优势与问题 万能模型,直接套用,代码实现简单,现成例子一大片并行的,比LSTM快,全局信息丰富,注意力机制效果好长序列中attention需要每一个点跟其他点计算(…

聚类及Python下实现 K-means 算法

聚类 聚类是无监督学习中的一种重要方法,旨在将数据集中相似的数据对象划分到同一个簇中,使得不同簇之间的数据对象差异尽可能大。在大数据环境下,聚类可以帮助挖掘数据中的隐藏结构和模式,应用场景十分广泛,比如在客…

LabVIEW调用Thorlabs的动态库进行开发

Thorlabs 产品在科研与生产领域中的应用广泛,当需要基于LabVIEW 进行二次开发时,可按照以下方法操作,以充分发挥设备性能并满足特定的项目需求。 创建 Kinesis LabVIEW 项目文件和文件夹 更详细的说明参见附件 在 LabVIEW 的启动界面中选择…

三、Zookeeper

Zookeeper 三、Zookeeper3.1什么是zookeeper?3.2为什么需要zookeeper3.3Zookeeper基本运行流程3.4Zookeeper数据模型3.5Zookeeper主要角色3.6Zookeeper工作原理3.7Zookeeper节点数据操作流程三、Zookeeper 3.1什么是zookeeper? ZooKeeper是一个分布式的,开放源码的分布式应…

实现盘盈单自动化处理:吉客云与金蝶云星空数据对接

盘盈单103v2对接其他入库:吉客云数据集成到金蝶云星空 在企业信息化管理中,数据的高效流转和准确性至关重要。本文将分享一个实际案例,展示如何通过轻易云数据集成平台,将吉客云的数据无缝对接到金蝶云星空,实现盘盈单…

vue:构造结构,塞入数据:结构不变,数据改变

1. 引入vue 2. 创建页面容器,让vue去管理这个容器 3. 双向绑定 4. 单向绑定 5. 操作容器(数据模型)里的数据 5. 单向绑定的简写 6. v-if和v-else 6. v-if和v-show的区别: v-if要重新渲染界面,v-show只需要改一下元素属…

CountDownLatch阻塞后countDown未执行会如何?

背景 某项目封装了 Kafka 消费者 API,根据传递的消费者线程数,创建 N 个消费者线程同时消费对应 topic 的数据,并在线程启动后收集到全局列表中,方便在程序调用 stop 流程时逐个停止。 主控类在创建 Kafka 消费线程时使用了 Cou…