azure - Nginx 路由忽略路径规则之后的任何内容
问题描述
我们正在使用 kubernetes 为 formio 设置 nginx。我们需要 .com/ 指向 api 服务器,而 .com/files/ 指向 pdf 服务器。这是入口配置:
paths:
- backend:
serviceName: formio
servicePort: 80
path: /
- backend:
serviceName: formio-files
servicePort: 4005
path: /files/(.*)$
我们设置了我们的 PDF 存储在 /files/pdf/filename 之类的路径中。问题是 /files/ 之后的整个路径也被重定向到 PDF 服务器,而不是仅仅停在 /files/
解决方案
这是一个常见问题,它是由您设置的路径正则表达式引起的。首先,您需要清楚地了解它。路径正则表达式/files/(.*)$
将匹配所有路径/files/...
,无论您在之后添加什么/files/
。所以它用 path 重定向所有请求/files/...
。如果您只想将 PDF 请求重定向到路径/files/pdf/...
,解决方案是将路径正则表达式设置为/files/pdf/(.*)$
.
推荐阅读
- javascript - 如何将数据从sun传输到java
- swift - 是否可以使用值而不是类型来参数化泛型类型?
- windows - 如何禁用chromedriver自动更新
- java - 尝试使用 Map< Class, Function
> 作为 java 8 中 instanceOf 的替代品,无法放入地图 - c# - 通过 Sql 查询访问 DataGrid (WPF) 中的 CheckBox 自动完成
- c# - 未安装带有 AppThemeBinding 的 Xamarin.Forms 应用程序
- android - RNFS - 无法打开下载目录中保存的 excel 文件
- wso2 - 如何处理 wso2 accountLock,accountDisabled 事件
- inno-setup - 使用 Inno Setup 询问用户应用程序的版本以相应地修改和更改安装文件夹
- javascript - 你如何在本地模块上运行`npm prepare`?