Nginx 不区分大小写 proxy_pass

2024-03-03

我有一个网站叫http://example.com,正在运行一个可以通过以下位置访问的应用程序http://example.com/app1。 app1 位于 nginx 反向代理后面,如下所示:

location /app1/ {
    proxy_pass http://localhost:8080/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
}

将尾部斜杠添加到proxy_pass字段让我“删除”URL 的 /app1/ 部分,至少就应用程序而言是这样。所以 app1 认为它正在向根 url 发出请求(例如,我在 app1 中有一条路由位于'/', not '/app1').

但是,我想让 nginx 不区分大小写。所以无论我去http://example.com/App1 or http://example.com/APP1,它仍然应该将请求转发到 app1,and删除网址的 /app1/ 部分。

当我尝试使用 nginx 不区分大小写的规则时,它不会将 URI 的其余部分转发到 app1。

location ~* /app1/ {
    proxy_pass http://localhost:8080/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
}

这给了我一个 nginx 配置错误。

我的目标有两个:

  • Match /app1/不区分大小写
  • 去除/app1/将 url“传递”到应用程序时作为 url 的一部分

我尝试重写 url,但它不允许我将 URI 的其余部分添加到 proxy_pass。

任何帮助,将不胜感激!


您应该捕获 url 的其余部分,然后使用它

location ~* /app1/(.*) {
    proxy_pass http://localhost:8080/$1$is_args$args;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nginx 不区分大小写 proxy_pass 的相关文章

  • 如何将 CORS(跨源策略)添加到 NGINX 中的所有域?

    我创建了一个文件夹 用于提供静态文件 CSS 图像 字体和 JS 等 我最终会将文件夹 CNAME 到子域中 以便在 CDN 上使用 以便与我的 Magento 2 设置一起使用 我想允许所有域通过 CORS 跨源策略进行所有访问 并且我也
  • 站点启用/中不允许使用 nginx“mail”和“stream”指令

    当我尝试在 nginx 中使用流或邮件指令时遇到问题 我正在使用 nginx 1 16 1 和 Ubuntu 18 04 4 LTS 这是我的 nginx conf user www data worker processes auto p
  • 为什么在生产中得到空 CSS 文件?

    我在文件中放入了很多css文件active admin css scss Active Admin s got SASS import active admin mixins import active admin base import
  • ./manage.py 使用 https 运行服务器

    manage py 运行服务器 0 0 0 0 8000 我使用上面的行作为我从 github 借用的代码的一部分 https github com ribeiroit boh puppet https github com ribeiro
  • 通过 nginx 入口控制器进行基本身份验证

    我正在使用 nginx 入口控制器 https kubernetes github io ingress nginx deploy https kubernetes github io ingress nginx deploy 在 AWS
  • Node + Express + Nginx 未设置 Cookie

    我有一个使用 Express 的 Node 应用程序 我尝试为我的客户端设置 cookie 它在本地环境 http 上运行良好 但是一旦我投入生产 https 我就很好地收到了cookie 我可以在响应中看到它 但它没有设置 任何想法 Ng
  • kubernetes 集群中 django 应用程序的 Nginx 配置

    我在为部署在 kubernetes 中的 django 应用程序创建 nginx 配置文件时遇到困难 Nginx 和 app 是同一集群中的两个独立容器 据我了解 容器可以通过 127 0 0 1 XX 和主机名相互通信 我为此使用 min
  • 使用 FastCGI 运行 Lua 脚本

    我目前正在尝试找出使用 FastCGI 与 lighttpd 或 Nginx 一起运行 Lua 脚本的方法 我唯一能挖到的是WSAPI http keplerproject github com wsapi 开普勒计划的一部分 但我想知道是
  • Nginx - 自定义 404 页面

    Nginx PHP 在 fastCGI 上 对我来说非常有用 当我输入不存在的 PHP 文件的路径时 我不会得到默认的 404 错误页面 任何无效的 html 文件都会出现该错误页面 而只会得到 未指定输入文件 如何自定义此 404 错误页
  • Docker:Nginx 和 php5-fpm docker 不说话

    我想进行完全 Docker 化的 Drupal 安装 我的第一步是让容器与 Nginx 和 php5 fpm 一起运行 两者都基于 Debian 我在 CoreOS alpha 频道 使用 Digital Ocean 我的 Dockerfi
  • 使用 Nginx 或 Apache 来提供动态内容? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • NGINX hashbang 重写

    我想知道 hashbang url 的位置或重写 nginx 指令会是什么样子 基本上像前端控制器一样通过 hashbang 路由所有非 hashbanged url 所以 http example com about staff 将路由至
  • 为什么 opcache 没有刷新?

    我用guzzlehttp guzzle封装在拉拉维尔 8 升级到后PHP 8 I get Symfony Component ErrorHandler Error FatalError Invalid opcode 117 2 0 in f
  • 将代码从 htaccess 重写为 nginx 配置?

    我在将 htaccess 文件中的重写代码实现到 nginx 配置中时遇到问题 我已经尝试过生成器 http winnginx com htaccess http winginx com htaccess用于生成我的重写 代码 我的ngin
  • nginx 和 uwsgi 非常大的文件上传(>3Gb)

    也许有人知道该怎么做 我正在尝试上传大于 3Gb 的文件 没问题 如果我使用以下配置上传高达 2Gb 的文件 Nginx client max body size 5g client body in file only clean clie
  • Kubernetes Ingress 在 nginx 反向代理后面运行

    我已经在可以从互联网访问的服务器上安装了 minikube 我创建了一个可用的 kubernetes 服务 gt kubectl get service myservice NAME CLUSTER IP EXTERNAL IP PORT
  • Docker 中的 NGINX 缓存 IP 地址并提供错误的 Content-Type

    Summary 我想让NGINX 不是NGINX Plus 通过使用变量从DNS名称重新解析IP地址proxy pass 如建议的这篇 Nginx 官方文章 在变量中设置域名 部分 https www nginx com blog dns
  • Nginx - Heroku Docker - 是否可以在 Heroku 上运行 Nginx 作为反向代理

    我试图弄清楚如何使用 Nginx 在 Heroku 应用程序上构建反向代理 问题是 Heroku 似乎每个应用程序只接受一个容器 但我的应用程序系统至少会使用三个容器 一个用于 Nginx 一个用于我的应用程序前端 一个用于我的业务逻辑服务
  • 使用 Nginx 在 Docker 容器内部署带有路由器的 Angular2

    我正在尝试部署一个使用框架的路由器功能的 Angular 2 但在 docker 容器内使用 nginx 为其提供服务时遇到一些问题 由 angular cli 构建的 Angular 应用程序具有如下文件结构 dist 08c42df75
  • 在 docker 中将 pgadmin 连接到 postgres

    我有一个docker compose与服务文件python nginx postgres and pgadmin services postgres image postgres 9 6 env file env volumes postg

随机推荐

  • 保留/切片 pandas 中的特定列

    我知道这些列切片方法 df2 df col1 col2 col3 and df2 df ix 0 2 但我想知道是否有一种方法可以在同一切片中从数据帧的前 中 尾对列进行切片 而无需具体列出每个列 例如 一个数据框df包含列 col1 co
  • 离开范围时 Swift 在 CFRelease 中崩溃

    我刚刚投入 iOS 开发 目前在 queryServer 函数末尾的 CFRelease 函数中遇到运行时错误 我在突出显示的行上添加了注释 但没有错误如果我注释掉对 extractIPFromQuery 的函数调用 下面的代码获取服务器的
  • simple_form 和引导程序验证不起作用

    我想设置一个 创建帐户 页面 我使用的宝石是 导轨 3 2 3 简单形式 2 0 1 全方位身份验证 twitter bootstrap rails 2 0 6 蒙戈伊德 2 2 3 表格如下所示 simple form for ident
  • 在 Jenkinsfile 中运行映像时如何传递 docker 容器参数

    我有一个以以下结尾的 Dockerfile ENTRYPOINT node index js CMD help The index js可以采用几个不同的参数 我还需要公开容器的端口 因此如果我手动运行它 我会执行以下操作 docker r
  • 组在 RabbitMQ 中接收消息,最好使用 Spring AMQP?

    我正在从服务 S 接收消息 该服务将每个单独的属性更改作为单独的消息发布到实体 一个人为的例子是这样的实体 Person id 123 name Something address 如果姓名和地址在同一交易中更新 则 S 将发布两条消息 P
  • 如何获取iframe的scrollTop

    当window是iframe时 jQuery的scrollTop返回null 有谁能弄清楚如何获取 iframe 的scrollTop 吗 更多信息 我的脚本在 iframe 本身中运行 父窗口位于另一个域中 因此我无法访问 iframe
  • 将多个/不同的 MongoTemplate 与相同的 Repository 类一起使用

    我有三个不同的 mongo 数据库 相同架构 的集合 所以我为此创建了一个存储库 但是我是否可以使用不同的 mongoTemplates 一个用于三个不同的数据库 但使用相同的存储库类 我可以创建三个不同的存储库类 每个数据库一个 但我不想
  • 批处理模式下 Kafka headers 作为列表

    我试图在以批处理模式消费消息的同时访问一些标头 如果我设置监听器来处理Message data Acknowledgment ack throws SQLException for int i 0 i lt data size Object
  • React - 错误:尝试运行 npm start 时找不到模块 React

    我在尝试为 React 应用程序运行 npm start 时遇到了一个错误 我的应用程序在开发过程中基本上按照我的预期运行 但是我遇到了一个错误 需要我更新我的节点版本作为潜在的修复 我将 node 更新到 v16 13 2 并且还决定将
  • JQuery 自动完成。如果找不到项目,显示“按 Enter 键插入自动完成”?

    我正在做一种标签自动完成组合 因此 基本上 当用户输入没有自动完成选项的查询 即 aaa 时 我希望自动完成下拉并显示 按 Enter 为 aaa 创建标签 我在文档中找不到任何内容 我想这需要我进行一些黑客攻击 但在这样做之前 我想看看是
  • C# 相当于 Java 的 Exception.printStackTrace()?

    C 是否有与 Java 等效的方法Exception printStackTrace 或者我必须自己写一些东西 通过 InnerExceptions 来解决 尝试这个 Console WriteLine ex ToString From h
  • css api 的 jquery if else 条件

    我有下面的 jquery 语句 this span section1 css background url images accordion closed left png no repeat scroll 0 0 transparent
  • WPF 从 DataTrigger 调用方法

    是否可以使用通配符或调用方法来确定是否应应用 DataTrigger 我目前将 DataList 绑定到包含文件名的 IEnumerable 并且如果文件扩展名以 old 开头 我希望文件名显示为灰色 我的非工作梦想 xaml 标记看起来像
  • 返回内置类型的常量值[重复]

    这个问题在这里已经有答案了 为内置类型返回 const 值是一个好的习惯吗 原因是 const int F int y F x y 如果返回值是const 上面的代码将无法编译 然而 如果不是的话F x y 是一个非常隐蔽的错误 由于为函数
  • UserType / Hibernate / JodaTime - 在哪里设置 UserType 全局属性?

    我正在使用org jadira usertype dateandtime joda PersistentDateTimeUserType 3 0 0 RC1 中的类来映射 JodaTimeDateTime进入休眠状态 Java文档 http
  • 为什么 Collections.Frequency 在转换后的列表上无法按预期工作?

    我过去使用过 Collections Frequency 它工作得很好 但现在我使用 int 时遇到了问题 基本上 Collections Frequency 需要一个数组 但我的数据采用 int 的形式 所以我转换了我的列表 但没有得到结
  • 如何将 Bootstrap CDN 添加到我的 WordPress

    我想在我的 Wordpress 中使用 Bootstrap 框架 如何在functions php 中编辑 我找到一个地方告诉这样的代码 function enqueue my scripts wp enqueue script jquer
  • 带有 Spring-boot 后端的 Flutter websocket

    好吧 Flutter 在食谱中有 WebSocket 配方 here https flutter dev docs cookbook networking web sockets 这对于 websocket org 测试服务器非常有效 问题
  • WPF - 更改隐藏代码中的样式

    我有一个显示 TFS 查询结果的列表框 我想更改后面代码中 ListBoxItem 的样式 以使查询结果中包含列 ListBox 项的样式在我的 Windows Resources 部分中定义 我已经尝试过这个 public T GetQu
  • Nginx 不区分大小写 proxy_pass

    我有一个网站叫http example com 正在运行一个可以通过以下位置访问的应用程序http example com app1 app1 位于 nginx 反向代理后面 如下所示 location app1 proxy pass ht