Azure traffic manager 如何将Traffic Manager用于Azure存储静态网站?

Azure traffic manager 如何将Traffic Manager用于Azure存储静态网站?,azure-traffic-manager,Azure Traffic Manager,我有一个流量管理器,在Azure存储静态网站中有一个端点。 带有index.html的静态网站已启动并在http和https上运行。 traffic manager中的终结点具有联机状态 但当尝试通过流量管理器DNS名称访问静态网站时,我收到400个错误请求 错误似乎来自存储网站: The request URI is invalid. HttpStatusCode: 400 ErrorCode: InvalidUri 为什么??如何解决此问题?以下是我自己的问题“如何解决”的答案: 转到存储

我有一个流量管理器,在Azure存储静态网站中有一个端点。 带有index.html的静态网站已启动并在http和https上运行。 traffic manager中的终结点具有联机状态

但当尝试通过流量管理器DNS名称访问静态网站时,我收到400个错误请求

错误似乎来自存储网站:

The request URI is invalid.
HttpStatusCode: 400
ErrorCode: InvalidUri

为什么??如何解决此问题?

以下是我自己的问题“如何解决”的答案:

  • 转到存储帐户->自定义域配置

  • 在那里输入流量管理器DNS名称blahblah.trafficmanager.net并保存配置

  • 等几分钟

  • 宾果! 现在blahblah.trafficmanager.net在存储帐户中显示静态网站

    请注意,存储帐户必须支持HTTP才能正常工作

    存储帐户->配置->禁用所需的安全传输


    仍然无法回答“为什么?”

    我可以产生此错误。流量管理器在DNS级别工作,它使用DNS响应将客户端定向到适当的服务端点。因此,您看到的任何HTTP错误都必须来自您的应用程序。就像美国一样

    从客户端浏览器发送的HTTP主机头是最常见的 问题的根源。确保应用程序配置为 接受您正在使用的域名的正确主机头

    据我所知,我们正在使用
    *.trafficmanager.net
    访问blob存储中的静态网站,默认情况下,如果没有自定义域配置,它只接受主端点主机,如
    xxx.z13.web.core.windows.net
    。因此,我们需要在blob存储中添加这样的主机
    *.trafficmanager.net

    此外,对于使用Azure应用程序服务的端点,在添加应用程序服务端点后,Azure会在Azure应用程序服务的自定义域中自动添加主机名
    *.trafficmanager.net
    。你可以看到

    另外,请注意,traffic manager不能提供任何涉及的证书验证

    希望这是有意义的