为什么我的ASP资源请求未按Azure API管理的预期路由?

问题描述 投票:0回答:1

对于我的用例,我想使用Azure APIM作为代理。

(编辑:我正在使用“消费”层,这里给出的答案适用于标准层。如果我找到MS支持消费层的解决方案,我会更新。)

那样的

GET https://my-awesome-api.azure-api.net/default.css

获取并返回那里的内容:

GET https://my-backend.my-domain.com/default.css

除ASP文件外,它工作正常。如果我的资源是/default.asp,我会得到一个由APIM直接生成的404(不是我的后端,根本没有被调用)。问题在每个级别都会重现(我可以获得/foo/default.css,但/foo/default.asp上有404)。

我无法在文档中找到默认情况下与ASP文件的特殊处理相关的任何内容(或任何其他相关内容)。其他类型的资源运作良好的事实更令人费解。

GET /default.css -> works
GET /default.asp -> gets the Azure 404
GET /i-dont-exist.css -> gets the backend 404
GET /i-dont-exist.asp -> gets Azure 404

Azure的404:

HTTP/1.1 404 Not Found

content-length: 103
content-type: text/html
date: Fri, 05 Apr 2019 15:35:34 GMT
vary: Origin
x-powered-by: ASP.NET
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
azure-api-management
1个回答
2
投票

很可能您的API配置错误。似乎您想要传递所有流量,因此您需要创建API,其中Web服务URL设置为“https://my-backend.my-domain.com”,路径后缀设置为“/”。在它下面为要使用URL模板设置为/ *进行代理的每个HTTP方法创建一个操作。

© www.soinside.com 2019 - 2024. All rights reserved.