azure - URL 中出现 5 个字符

标签 azure url url-rewriting dns redirect

我时断时续地遇到一个问题,很难重现,但经常发生。

我在 Azure 博客存储上有静态文件,这是设置 - 设置过程有很多步骤,但大多数时候都有效 - 我使用 this blog作为我的指导:

  • index.html 位于 blob 存储中的“webfiles”容器中
  • CDN 指向/webfiles
  • CDN 设置中存在从/到/index.html 的网址重写
  • DNS 重定向 http://example.comhttps://www.example.com
  • www 的 DNS 指向 CDN 网址

当我访问http://example.com时,十分之九,它会正确重定向到 https://www.example.com/并加载index.html页面。然而,有时,它似乎通常在没有历史记录的干净浏览器上,它会将我发送到带有 5 个额外字符的内容,例如 https://www.example.com/VeVPe/我收到 404 和 BlobNotFound 异常 - 我不知道 VeVPe 是什么,而且不同站点的情况似乎有所不同。我有 5 个网站都是这样设置的,而且所有网站都发生过这种情况。

如果我删除那个 5 个字母(似乎总是字母,而不是数字,但这可能只是巧合)并按 ENTER,它会正确加载并得到 index.html,或者如果我只是尝试 http://example.com第二次就可以正常工作了。好像只有一次。

我也在其他公共(public)网站上看到过这种情况 - 有一家本地学校,该网站有时会将我重定向到 http://www.example.com/LNnZS/和 404 页面 - 这似乎是同一件事,但它不是 HTTPS,所以这似乎至少消除了一些可能的原因。我不知道他们的 DNS 或托管提供商是谁,所以我不知道它是否特定于 Azure 或 GoDaddy。

桌面上的 Chrome 和 Edge 以及 iPhone 上的 Safari 会出现这种情况,因此这不是浏览器或计算机问题。

如果有帮助,请参阅 Azure 上的 URL 重定向和重写:

azure redirect and rewrite rules

编辑当我可以在浏览器工具中捕捉到一些有趣的东西时,我看到了一些有趣的东西:

初始请求http://example.com转到 GoDaddy 的 IP 并返回 302 Found to Location /KVZQZ/。然后有一个请求http://example.com/KVZQZ/它由 GoDaddy 的 IP 返回,并带有位置 https://www.example.com/KVZQZ/ 的 301,第三个请求实际上发送到 Azure 的 IP,后者返回 BlobNotFound 的 404。

所以对我来说,这看起来像是 DNS 问题,而不是 Azure 的问题。我的 DNS 设置是:

A       @   Forwarded to https://www.example.com
CNAME  www  example.azureedge.net

在 DNS 设置的转发部分,它仅转发到 https://www.example.com具有301前向型。所以据我所知,这里没有什么太时髦的。

最佳答案

经过大量谷歌搜索后 - This forum post显示很多人都遇到过同样的问题,即 5 个字母的代码被添加到他们的网站。这显然是 GoDaddy 特有的,没有人能够说服他们解决这个问题。他们的解决方法是在转发地址上抛出一个查询字符串。

我将转发地址从 https://www.example.com 更改为 https://www.example.com?,现在工作正常。

我在浏览器中向 http://example.com 发出请求,它将我重定向到 https://www.example.com/?/MKSTc/ 并加载了index.html页面 - 显然这并不理想,因为它很难看,但我想我可以编写一些javascript来第二次重定向回https://www.example.com/

关于azure - URL 中出现 5 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46247477/

相关文章:

regex - apache 正则表达式 和 proxypassmatch

Azure辅助角色通信

azure - Azure 有多少个核心?

Azure 虚拟机预留

azure - 使用 Azure 进行本地托管

c++ - 在没有 JavaScript 的情况下隐藏 Google map 中的标记

asp.net - 在 ASP.NET/C# 中重写 URL

linux - everything.com/xxx 使用 serveralias 重定向到 everything.com

apache - 重写 .htaccess 中的 URL,用正斜杠(id?=value)替换查询参数

url - MailChimp 取消订阅 URL 中每个参数的用途是什么?