azure - 如何为 Azure 函数代理自定义 IIS 404 页面?
问题描述
我将以下代理配置为基本上捕获所有请求并将它们重定向到我的后端:
{
"$schema": "http://json.schemastore.org/proxies",
"proxies": {
"Proxy1": {
"matchCondition": {
"route": "/{*url}"
},
"backendUri": "https://mybackend.com/{url}",
"debug": false
}
}
}
如果 {url} 路径不存在,这可以很好地显示我在 mybackend.com 上配置的自定义 404 页面。
例如:将按预期https://proxy1.com/bad-path
显示使用我的后端 404 页面。https://mybackend.com/bad-path
但是,我发现了一个边缘情况(也许这是一个错误?),它允许路径无法正确重定向。如果添加%20
到路径的末尾,它会中断代理路径检测,而是显示来自代理本身的 IIS 404 页面。例如:
https://proxy1.com/bad-path%20
结果是:
这在我们最近执行的服务器审核期间引起了问题。我们不能像这样显示原始 IIS 错误页面。
我该如何 1) 修复此代理问题,以便添加%20
到路径的末尾仍然代理到我的后端,我在其中显示我的自定义 404,或 2) 自定义此原始 IIS 错误页面,使其不是显示的标准 IIS 页面在上面的屏幕截图中?
解决方案
推荐阅读
- sql - 根据条件将表B中的行添加到表A
- ffmpeg - 如何使用 FFmpeg(或 SoX)自动检测和输出音频静音?
- python - 方法同时返回自身和一个值
- python - 找不到退出循环并保留当前输入的变量的方法
- asp.net-mvc - 在单个根文件夹下组织 WebApi 控制器并路由到它们
- android - Kotlin 协程和 SecurityException
- django - 如何为 django summernote 表单传递不同的 id
- reactjs - React 应用程序视频挂起,浏览器显示许多“待处理”流
- sql - 按日期、名称和值的 PIVOT SQL 表
- c# - 进度条超过最大值