我有一个要与APIM一起使用的站点,并且已经成功将我的API映射到APIM。但是,我有一个招摇的页面,我只想在与APIM相同的域中可用。我怎样才能做到这一点?摇摇欲坠的页面是:
https://mysite.azurewebsites.net/api/swagger/index.html
我想让它像这样出现
https://myapidomain.com/swagger
我在APIM中的api的格式是,所以我要招摇以匹配相同的域
这可以做一些警告,具体取决于您的网页的复杂程度:
向操作入站添加策略:
<set-backend-service base-url="https://mysite.azurewebsites.net" />
<rewrite-uri template="/api/swagger/index.html" />
测试和调整
这将照顾页面本身。如果页面使用Cookie或通过相对URI引用外部脚本/图像,将会出现问题。 Cookies将是一个问题,因为它们将域设置为“ mysite.azurewebsites.net”,因此您需要在政策中注意这一点。
具有相对URL的资源是有问题的,因为浏览器将使用这些URL向您的APIM服务发出其他请求,因此您需要创建其他操作来覆盖这些请求。在操作模板中使用*可能有助于覆盖多个资源。