gpt4 book ai didi

azure - 允许冒号(:) in URL on Azure Web App

转载 作者:行者123 更新时间:2023-12-03 04:28:57 28 4
gpt4 key购买 nike

我们正在尝试从 Azure Web 应用程序上托管的 ASP.NET 网站公开遵循 ARK 标准(存档资源 key )的 URL。但 Azure Web Apps 似乎不支持 URL 路径段中的冒号 (:),因为我们收到 HTTP 500 错误代码,并显示消息“由于发生内部服务器错误,无法显示页面”。当尝试输入像 http://example.azurewebsites.net/ark:/123/456 这样的 URL 时。

请注意,我们确实更新了 web.config 的 RequestPathInvalidCharacters 设置以允许 URI 中使用冒号,并且它可以在本地运行。另外,URI 中的冒号可能不是很常见,但却是 valid ,甚至 wikipedia 也使用它们。

<小时/>

编辑:

经过几次测试,看起来只有当冒号位于路径段末尾时才会出现问题(例如: http://example.azurewebsites.net/ark:/123/456 )。否则,将应用 requestPathInvalidCharacters 设置。我们不走运:ARK 标准指定将冒号放置在路径段的末尾。

请注意,这种情况下显示的错误与 requestPathInvalidCharacters 具有默认值且冒号位于路径段中间时显示的错误不同。这里的错误似乎甚至在请求进入 IIS 管道之前就发生了(可能在 Azure 级别)。您可以测试上面的URL以快速显示问题。

最佳答案

很抱歉我的原始回复。我尝试使用 Azure MVC API。我将 map 路线配置如下:

 config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}:{id}",
defaults: new { id = RouteParameter.Optional }
);

并在 web.config 中添加 requestPathInvalidCharacters:

    <httpRuntime targetFramework="4.5.2" requestPathInvalidCharacters=""/>

值 Controller :

  // GET api/values/5
public string Get(int id)
{
return id.ToString();
}

部署到 Azure 后,我可以从 URL 获取结果:http://.azurewebsites.net/api/values:5

enter image description here

关于azure - 允许冒号(:) in URL on Azure Web App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39595320/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com