nginx location proxy_pass的一些坑

2023-05-16

常规博客是,先讲自己的经历,然后再啰嗦一段话,并且再穿插一些自己的感想之类的。
不, 我的博客力求最高效率。
需求: 把 URL 中带 /proxy/ 的统统转发至另外的机子。

1.【 loacation 块中存在 ~* 则proxy_pass的URL不能带 / 。】
如下,会报错

 location ~* /proxy/ {
                proxy_pass http://192.168.79.133/; # 这儿带 /
                
        }

但可以这样写

 location ^~ /proxy/ {
                proxy_pass http://192.168.79.133/;
        }

或者这样写

 location  /proxy/ {
                proxy_pass http://192.168.79.133/;
        }

而以下这种写法,需要完全的指定其地址。
($1)只匹配到它的第一匹配项,而匹配项是存在多个的, “(.)” 里需要写上非常明确的URL,下列仅作演示。

 location ~* /proxy/(.) {
                proxy_pass http://192.168.79.133/($1);
        }

2.【proxy_pass的未尾,只要含 /, 就一定是alias 拼接URL。】

 location  /proxy/ {
                proxy_pass http://192.168.79.133;
        }
 #  www.a.com/proxy/abc  -> 192.168.79.133/proxy/abc;
 location  /proxy/ {
                proxy_pass http://192.168.79.133/;
        }
 #  www.a.com/proxy/abc  -> 192.168.79.133/abc;
 location  /proxy/ {
                proxy_pass http://192.168.79.133/567;# 不管/在不在末尾,除去http://这部分的/外,只要带/ 就是拼接。
        }
 #  www.a.com/proxy/abc  -> 192.168.79.133/567abc;

下列的这个是猜测, 我本人未测试,根据上面的规律猜测的。

这个是猜测,未经测试
 location  /proxy {
                proxy_pass http://192.168.79.133/;
        }
 #  www.a.com/proxy/abc  -> 192.168.79.133//abc;
 #个人观察, 其规律是    192.168.79.133/ 拼接 /proxy/abc 中的除去 /proxy 的部分剩下的 /abc, 即 192.168.79.133/  拼接 /abc ,即成192.168.79.133//abc .   这种情况下, sudo nginx -s reload 会明确告诉你有问题。 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nginx location proxy_pass的一些坑 的相关文章

  • nginx conf 文件:检测浏览器语言是否为“de”,然后重定向到页面....否则重定向到其他页面

    我想在横幅中创建一个链接以重定向到两个页面之一 该链接指向subdomain example com email 如果浏览器语言是 de 则转到www example de banner否则去www example com banner 我
  • nginx 不为 ssl 中的 Rails 资产提供服务

    我正在我的 nginx nginx 版本 nginx 1 4 1 Ubuntu rails Rails 3 2 16 和 unicorn unicorn v4 7 0 vps 中安装自签名 ssl 证书 没有 ssl 一切看起来都很好 但自
  • Nginx no-www 到 www 以及 www 到 no-www

    我在用按照教程在 Rackspace 云上安装 nginx http www howtoforge com running phpmyadmin on nginx lemp on debian squeeze ubuntu 11 04并在网
  • Nginx 位置“不等于”正则表达式

    我该如何设置locationNginx 中的条件是否响应任何不等于列出的位置 I tried location dir1 file2 php rewrite http example com 1 permanent 但它不会触发重定向 它只
  • Websocket-rails 不适用于 Nginx 和 Unicorn 的生产环境

    我有 Rails 3 2 应用程序和 gem websocket rails 0 7 在开发机器上 一切正常 在生产环境中 我使用 Nginx 1 6 作为代理服务器 使用 Unicorn 作为 http 服务器 Thin 用于独立模式 如
  • 使用 Clapprjs 在网页上流式传输 .m3u8

    我使用 nginx rtmp 将 rtmp 转换为 hls 并使用 Clappr 在网页中进行流式传输 但 Clappr 采用旧的 ts 段 导致 404 错误 因为它在服务器上被删除 如何解决这个问题 抱歉 这是我第一次使用 nginx
  • nginx 缓存 HTML 文件该怎么办?

    我一直遇到缓存问题HTML我的项目中的文件 我有一个针对静态资源 图像 脚本 CSS 等 的缓存清除机制 但所有这些解决方案似乎都无法处理HTML缓存问题 I added expires 0 to Nginx on all HTML文件 但
  • Nginx 对 cms 后端的重写规则

    我需要在 nginx 服务器中制定 url 重写规则 服务器块 就像我之前的 apache 服务器一样 这是 htaccess 中的代码 我需要将其实现 转换 到我现有的代码中 RewriteRule A Za z0 9 A Za z0 9
  • 使用 Zeep 通过代理访问 SOAP 时更改服务 URL

    在我的应用程序中 我需要访问内部 公司 Soap API 到目前为止 我已经使用 Zeep 进行此访问 但现在访问必须通过代理 并且API的实际地址必须转换为代理的虚拟地址 创建 Zeep 客户端也可以正常工作 并且我可以访问 WSDL 文
  • 如何将 CORS(跨源策略)添加到 NGINX 中的所有域?

    我创建了一个文件夹 用于提供静态文件 CSS 图像 字体和 JS 等 我最终会将文件夹 CNAME 到子域中 以便在 CDN 上使用 以便与我的 Magento 2 设置一起使用 我想允许所有域通过 CORS 跨源策略进行所有访问 并且我也
  • 为什么 Nginx 以相反的顺序提供客户端 SSL DN?

    我很好奇为什么某些 Web 服务器 例如 Nginx 以相反的顺序提供客户端 SSL DN Web 应用程序将 DN 发布到 Java Web 服务 该服务尝试创建 Javajavax naming ldap LdapName http d
  • Apache 下的子域代理到 Tomcat

    在使用 AJP 代理 Tomcat 时 我在为 Windows 计算机创建子域时遇到问题 这是我的 httpd conf 文件中的内容
  • nginx工作进程如何共享“监听套接字”

    This http aosabook org en nginx html http aosabook org en nginx html说 工作进程接受来自共享 监听 套接字的新请求 并在每个进程内执行高效的运行循环 我查看了代码 但不明白
  • 验证来自两个不同 URL 的 Keycloak 令牌

    我有一个Docker compose具有后端和前端组件的基于系统 后端写的是Python Flask并在多个 docker 容器中运行 前端编写为TypeScript with Angular 前端通过Restful API与后端进行通信
  • Firefox 中的代理设置不会“粘连”

    在家里我们有一个代理服务器 在工作中我们不会 Firefox 在这方面令人恼火 每当我启动它时 它都会默认使用代理服务器 如果我执行 工具 gt 选项 gt 设置 并选择 无代理 则没有问题 但是 如果我关闭 Firefox 并重新启动它
  • Docker 与 nginx 组合不断显示欢迎页面

    我是新来的docker并尝试使用最简单的 docker compose yml 显示一个 hello world 页面 并在此基础上构建最终完整的LEMP堆栈它将与我的服务器具有相同的配置 然而大多数教程已经过时 并且有很多使用方法dock
  • 如果未登录则重定向 html 页面

    我的网页上有简单的登录表单 它使用 javascript 来登录用户并且工作正常 问题是 用户直接在地址栏中输入登陆页面 URL 他无需登录即可直接访问该页面 如果他没有登录 我想将他重定向到登录页面 以下是loding和目标页面的链接 l
  • 如何使用我的服务器作为代理通过 PHP 下载文件?

    我需要我的服务器充当第三方服务器 文件最初所在的位置 和最终用户之间的代理 也就是说 我的服务器从第3方服务器下载文件 然后用户从我的服务器下载它 这将导致产生文件大小两倍的带宽 这个过程如何使用PHP来实现呢 fp fopen url r
  • Kubernetes nginx 入口控制器返回 502,但仅适用于 AJAX/XmlHttpRequest 请求

    我有一个在 nginx 入口控制器后面运行 Kubernetes 的 Web 应用程序 它对于请求浏览工作正常 但来自浏览器的任何 AJAX XMLHTTPRequest 都会从 nginx 收到 502 错误 我捕获了常规请求和 AJAX
  • NGINX 与 Tomcat 配置

    我是 Nginx 新手 我需要你的帮助 根据很多论坛我了解到我们所有的静态页面都存储在Nginx中 当有请求到来时 我必须将该请求传递给 tomcat 获取数据 并在 tomcat 生成响应后生成响应 目前 我刚刚做到了 我将请求直接传递给

随机推荐

  • docker run的--rm选项详解

    在Docker容器退出时 xff0c 默认容器内部的文件系统仍然被保留 xff0c 以方便调试并保留用户数据 但是 xff0c 对于foreground容器 xff0c 由于其只是在开发调试过程中短期运行 xff0c 其用户数据并无保留的必
  • Spring Boot的Maven插件Spring Boot Maven plugin详解

    Spring Boot的Maven插件 xff08 Spring Boot Maven plugin xff09 能够以Maven的方式为应用提供Spring Boot的支持 xff0c 即为Spring Boot应用提供了执行Maven操
  • Django项目与Django应用的关系及django.apps模块

    1 Django项目与Django应用 Django项目通常是使用django admin工具创建的项目结构 xff0c 执行如下命令创建Django项目myproject xff1a django admin startproject m
  • Gradle-7.0.3 build.gradle字段有改变

    如果你使用最新的 Gradle 7 0 3 build gradle文件里 defaultConfig 作用域内个别字段有变化 defaultConfig span class token punctuation span applicat
  • Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean异常解析

    Spring Boot升级到2 0 1 xff0c 再次按照其官网的Quick Start做了一下上手练习 xff0c Maven构建成功 xff0c 但是启动应用总是报错如下 xff1a Unable to start ServletWe
  • Spring Boot 2.0中嵌入式Web容器(如Tomcat)对HTTP2的支持详解

    Spring Boot应用往往作为服务发布 xff0c 这里对HTTP2的支持 xff0c 主要是对通过嵌入式Web容器支持HTTP2 1 在最新的Spring Boot 2 0 3 RELEASE中 xff0c 集成的三种嵌入式Web容器
  • Spring Cloud OpenFeign详解

    作为Spring Cloud的子项目之一 xff0c Spring Cloud OpenFeign以将OpenFeign集成到Spring Boot应用中的方式 xff0c 为微服务架构下服务之间的调用提供了解决方案 首先 xff0c 利用
  • Docker容器支持IPv6的方法

    1 设置Docker Engine支持IPv6 1 启动Docker Engine时即开启对IPv6的支持 默认启动时Docker Engine只支持IPv4 启动Docker Engine时 xff0c 指定 ipv6选项即可支持IPv6
  • 总线带宽计算公式(解析)

    总线带宽 xff1a 一定时间内总线上可以传输的数据量 xff0c 使用MByte s表示 总线位宽 xff1a 总线能同时传送的数位数 xff0c 使用bit表示 xff08 常见的如32位 xff0c 64位 xff09 总线频率 xf
  • macOS终端命令行配置网络代理

    一 前言 xff1a 在下载一些需要vpn下载公司内网的源码或者认证时 xff0c 必不可少的需要使用代理 xff0c 与普通的网页及应用代理不同 xff0c 在mac的终端中并没有开启默认的代理模式 xff0c 所以需要手动进行设置 xf
  • VUE源码浅读

    首先我们要知道vue代码如何运行的 xff1f 初始化及挂载 61 gt 编译 xff08 parse optimize generate xff09 61 gt render function渲染 xff08 响应式 xff09 61 g
  • 一文解决Vue2过渡Vue3痛点

    项目升级vue3 0总结 醉逍遥neo的博客 CSDN博客 升级项目vue版本
  • 前端vue需求:将当前页面转成图片或者PDF并下载

    一 xff0c 下载依赖并引用 npm install html2canvas jspdf import html2canvas from 34 html2canvas 34 import jsPDF from 34 jspdf 34 二
  • react数据之dispatch,reducer

    1 之前写了一篇fetch的简单用法 xff0c 实际项目中数据比那个要复杂 xff0c 下面看一下通过dispatch和reducer来控制数据的更新 xff1b 2 还是以上一个添加分组的组件为例 xff1a 首先我们写一个MoveGr
  • 定时器/计数器介绍

    第一次在学习定时器的时候模模糊糊 xff0c 在做过一些题目之后对定时器有了更新的理解 xff0c 现在整理一下 xff0c 做笔记使用 目录 一 基础知识 定时器的作用 xff1a 定时器的实质 xff1a 定时器的工作原理 xff1a
  • echarts图表大小自适应

    1 还是我上一篇echarts简单使用的例子 xff1a 如果是随windows的width和height自适应的话 xff0c 如下 xff1a var echartsWarp 61 document getElementById 39
  • audio自动播放完美兼容实现方案

    前述 xff1a 最近解决的一个疑难杂症 xff0c 是关于audio自动播放与监听audio加载完成在ios上的兼容性问题 xff0c 其表现为pc xff0c 安卓谷歌浏览器正常 xff0c ios微信 xff0c 谷歌浏览器不正常 需
  • uni-app开发流程一(项目搭建)

    uni app其实是DCloud推出的众多产品之一 xff0c 当然我只研究目前能用到的 DCloud的官网 xff1a https www dcloud io uni app的官网 xff1a https uniapp dcloud io
  • uni-app开发问题总结(小程序与h5)2:兼容性

    前端时间连着开发了俩个项目 xff0c 都是在线教育类的 xff0c uni app架构 xff0c 一套代码兼容移动端h5 43 小程序 碰到一些兼容性问题 xff0c 这里做个记录 xff1a 一 默认使用uni app创建的css 有
  • nginx location proxy_pass的一些坑

    常规博客是 xff0c 先讲自己的经历 xff0c 然后再啰嗦一段话 xff0c 并且再穿插一些自己的感想之类的 不 xff0c 我的博客力求最高效率 需求 xff1a 把 URL 中带 proxy 的统统转发至另外的机子 1 loacat