Nginx location 和 proxy_pass 配置详解

news2024/9/25 1:15:25

概述

Nginx 配置中 locationproxy_pass 指令的不同组合方式及其对请求转发路径的影响。

配置效果

1. locationproxy_pass 都带斜杠 /

location /api/ {
    proxy_pass http://127.0.0.1:8080/;
}
  • 访问地址www.hw.com/api/upload
  • 转发地址http://127.0.0.1:8080/upload

转发地址不带 location 匹配目录 /api/

2. location 不带斜杠,proxy_pass 带斜杠 /

location /api {
    proxy_pass http://127.0.0.1:8080/;
}
  • 访问地址www.hw.com/api/upload
  • 转发地址http://127.0.0.1:8080//upload

转发地址会多带 /

3. location 带斜杠,proxy_pass 不带斜杠

location /api/ {
    proxy_pass http://127.0.0.1:8080;
}
  • 访问地址www.hw.com/api/upload
  • 转发地址http://127.0.0.1:8080/api/upload

转发地址会带 location 匹配目录 /api/

4. locationproxy_pass 都不带斜杠

location /api {
    proxy_pass http://127.0.0.1:8080;
}
  • 访问地址www.hw.com/api/upload
  • 转发地址http://127.0.0.1:8080/api/upload

转发地址会带 location 匹配目录 /api/

5. locationproxy_pass 都带斜杠 /,但 proxy_pass 带地址

location /api/ {
    proxy_pass http://127.0.0.1:8080/server/;
}
  • 访问地址www.hw.com/api/upload
  • 转发地址http://127.0.0.1:8080/server/upload

转发地址不带 location 匹配目录 /api/

6. location 不带斜杠,proxy_pass 带斜杠 /,但 proxy_pass 带地址

location /api {
    proxy_pass http://127.0.0.1:8080/server/;
}
  • 访问地址www.hw.com/api/upload
  • 转发地址http://127.0.0.1:8080/server//upload

转发地址不带 location 匹配目录 /api/ ,会多带 /

7. location 带斜杠,proxy_pass 不带斜杠,但 proxy_pass 带地址

location /api/ {
    proxy_pass http://127.0.0.1:8080/server;
}
  • 访问地址www.hw.com/api/upload
  • 转发地址http://127.0.0.1:8080/serverupload

转发地址不带 location 匹配目录 /api/ 直接进行了替换

8. locationproxy_pass 都不带斜杠,但 proxy_pass 带地址

location /api {
    proxy_pass http://127.0.0.1:8080/server;
}
  • 访问地址www.hw.com/api/upload
  • 转发地址http://127.0.0.1:8080/server/upload

转发地址不带 location 匹配目录 /api

总结

  • proxy_pass 代理地址端口后有目录(包括 /),转发后地址为:代理地址 + 访问 URL 目录部分去除 location 匹配目录
  • proxy_pass 代理地址端口后无任何内容,转发后地址为:代理地址 + 访问 URL 目录部分(包括 location 地址)

场景示例

upstream backend_name_hw {
  server 10.10.10.10:32323 max_fails=2 fail_timeout=2;
}

server {
    listen      80;
    server_name hw.test.com;

    client_max_body_size 1024m;
    client_body_timeout 12;
    client_header_timeout 12;
    keepalive_timeout 15;
    send_timeout 10;

    location / {
      proxy_pass http://backend_name_hw;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    
    location /hello {
      proxy_pass http://backend_name_hw/hello;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

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

    location /hw/ {
        proxy_pass http://hw-nginx/index.html;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

在这里插入图片描述

    location /hwhw/  {
        proxy_pass http://hw-nginx/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

在这里插入图片描述

    location /hw/hi/ {
        proxy_pass http://hw-nginx/hello/index.html;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

在这里插入图片描述

    location /hello/index.html {
        proxy_pass http://hw-nginx;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

在这里插入图片描述

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

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

相关文章

模型案例:| 网球识别模型

导读 2023年以ChatGPT为代表的大语言模型横空出世,它的出现标志着自然语言处理领域取得了重大突破。它在文本生成、对话系统和语言理解等方面展现出了强大的能力,为人工智能技术的发展开辟了新的可能性。同时,人工智能技术正在进入各种应用领…

minio实现大文件断点续传

最近工作中遇到一个需求,用户需要上传大文件几百M,为了更好的用户体验,需要支持断点续传,秒传,上传进度条等功能。需求如下: 方案有两种: 第一种:前端直接将整个大文件丢到后端&…

嵌入式初学-C语言-数据结构--四

栈 1. 基本概念 栈是一种逻辑结构,是特殊的线性表。特殊在: 只能在固定的一端操作 只要满足上述条件,那么这种特殊的线性表就会呈现一种“后进先出”的逻辑,这种逻辑就被称为栈。栈 在生活中到处可见,比如堆叠的盘子…

蓝牙串口模块JDY-31(基于STM32F103C8T6HAL库)

1.蓝牙模块简介 1.1 蓝牙模块简介 蓝牙串口模块用于单片机和手机之间的通信, JDY-31有6针脚和4针脚版本,6针脚插中间4根即可。 JDY-31是一个从机,HC-05是主从机一体的。HC-05使用的时候需要进行配对,JDY-31使用的时候不需要配对…

千万补贴计划,“健康中国行,陪诊惠民工程——陪诊志愿服务”全面开展

为了全面落实党的二十大报告关于“提高全社会文明程度,完善志愿服务制度和工作体系”和对志愿服务的一系列指示:“志愿服务是社会文明进步的重要标志,是广大志愿者奉献爱心的重要渠道”,“要为志愿服务搭建更多平台,更…

快速掌握AI算法基础:对于AI行业的“共同语言”入门指南

对于非相关专业的AI产品或者想要转型AI产品的同学,算法知识晦涩难懂,如何用很短的时间快速入门,让你在AI领域更加游刃有余。 一、机器学习、深度学习、强化学习的定义 1、机器学习(Machine Learning, ML) 机器学习是…

99%的Java程序员不知道的Java Instrument

Java Instrumentation API 是一个强大的工具,它允许开发人员在运行时修改字节码,而无需重新编译或修改源代码。这对于性能监控、日志记录、安全审计等场景非常有用。本文将深入探讨Java Instrumentation的基础知识,并通过具体的代码示例来展示…

【全网最全】2024年数学建模国赛C题超详细保奖思路+可视化图表+成品论文+matlab/python代码等(后续会更新

您的点赞收藏是我继续更新的最大动力! 一定要点击如下的卡片,那是获取资料的入口! 基于优化模型的农作物的种植策略 摘要 随着农业生产向集约化和智能化方向发展,优化种植策略以最大化经济收益成为当前农业研究中的重要问题。本…

828华为云征文|部署个人博客管理系统 Ghost

828华为云征文|部署个人博客管理系统 Ghost 一、Flexus云服务器X实例介绍1.1 云服务器介绍1.2 应用场景1.3 对比普通ECS 二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置 三、部署 Ghost3.1 Ghost 介绍3.2 Docker 环境搭建3.3 Ghost 部署3.4 …

记一次mysql锁等待超时问题

背景 如图所示,一个简单的删除语句,抛出了Lock wait timeout exceeded; try restarting transaction异常,查询这条记录,并尝试修改这条记录,发现修改操作都被hang住了 原因 待补充 解决方法 在mysql里&#xff0c…

营养三餐轻松搭配:健康生活从早餐开始

在如今的快节奏生活中,健康饮食与快捷管用的减调计划,已成为了许多人关注的焦点。合理的三餐搭配不仅能帮助我们控制形体,还能提升生活质量。今天,就让我们一起来学习一套科学的三餐减调套餐,让你在享受美食的同时&…

tuya open-sdk 1.0.0 发布

我们很高兴地宣布本次更新,带来了多项改进和新功能,旨在提升开发体验和效率。以下是具体更新内容: 代码标准化:实现了代码库的格式统一,引入了 clang-format 和 pre-commit 工具进行自动化代码格式调整,确保…

Docker 配置国内镜像源

由于 GFW 的原因,在下载镜像的时候,经常会出现下载失败的情况,此时就可以使用国内的镜像源。 什么是镜像源:简单来说就是某个组织(学校、公司、甚至是个人)先通过某种手段将国外的镜像下载下来,…

AI时代来临,AI基础数据服务行业未来发展有哪些变化

AI基础数据服务是针对人工智能(AI)领域提供的一项服务,它包括数据采集、数据清洗、信息抽取和数据标注等服务。AI基础数据服务旨在为AI算法的训练和优化提供必要的数据支持,为AI算法的性能提供保障。 标贝科技提供专业的数据采集、…

前端自查【知识点】(高概率)2024最新版

HTML 如何理解 HTML 语义化 ? 仅通过标签便能判断内容的类型,特别是区分标题、段落、图片和表格 增加代码可读性(让人更容易读懂)对SEO更加友好 (让搜索引擎更容易读懂) HTML有哪些内联元素和块状元素 ? 内联元素…

拌合站智能管理系统,如何实现智能化生产管理?

随着基础设施建设的不断推进,拌合站作为混凝土生产的重要环节,其管理水平直接影响到工程质量和施工效率。然而,传统的拌合站管理方法存在一些问题,如生产效率低、质量控制难、资源浪费等。在信息化和智能化技术迅猛发展的今天&…

4个工具帮你轻松实现视频在线压缩。

视频已经成了大家生活中很重要的一部分,能够帮助我们记录很多重要的东西,哟其实视频内容创作者,各种素材特别多。可使,随着视频越拍越多,设备的空间也会越来越紧张。所以,这次要为大家推荐4个专业的视频在线…

天翼云,AI取经路上的逐梦人

最近,国产第一部3A游戏大作《黑神话:悟空》问世,引发了全网热潮。游戏中的主角,重走西游之路,克服重重难关,向世界展现了中国文化的绝美与中国科技的自信。 而在现实当中,通往产业智能化的AI之路…

JVM系列(八) -运行期的几种优化技术

一、摘要 在之前的文章中我们谈到过,相比 C/C++ 语言,Java 语言在运行效率方面要稍逊一些,因为 Java 应用程序是在虚拟机上运行,而 C/C++ 程序是直接编译成平台相应的机器码来运行程序。 从虚拟机对外发布开始,开发团队一直在努力试图缩小 Java 与 C/C++ 语言在运行效率…

去除视频水印字幕从未如此简单!4款神器助你轻松搞定!

文章介绍的四款工具都已经打包好了,文末关注公众号AIshape 回复 “视频去水印” 获取 我们平时在各大视频网站下载的视频一般都会带有平台的logo水印,像Runway、Pika、即梦、可灵等AI视频生成平台创作的视频素材,非会员下载会带有水印 想利用这些视频素材进行二次创作很不方…