Iis 如何通过自定义域重定向或重写来访问Azure blob存储文件,而不产生浏览器安全警报?

Iis 如何通过自定义域重定向或重写来访问Azure blob存储文件,而不产生浏览器安全警报?,iis,dns,azure-storage,url-redirection,azure-storage-blobs,Iis,Dns,Azure Storage,Url Redirection,Azure Storage Blobs,这是我昨天提问的后续内容 目标是通过我们的自定义域在google上访问和排名blob存储文件,例如: 这是一个新的网站,所以没有必要从旧的链接重定向的关注 例如,在“contoso.com/product1”上的html文件中,有一个内部链接 <a href="/docs/product1-specs.pdf">product 1 specs</a> 其中“contoso.com”是由Azure应用程序服务托管的自定义域 其中“contoso1.blob.core.

这是我昨天提问的后续内容

目标是通过我们的自定义域在google上访问和排名blob存储文件,例如:

这是一个新的网站,所以没有必要从旧的链接重定向的关注

例如,在“contoso.com/product1”上的html文件中,有一个内部链接

<a href="/docs/product1-specs.pdf">product 1 specs</a>

其中“contoso.com”是由Azure应用程序服务托管的自定义域 其中“contoso1.blob.core.windows.net”是Azure存储帐户“contoso1” 其中“/docs/product1 specs.pdf”表示存储在Azure存储中的容器“docs”中的blob文件“product1 specs.pdf”

这是一个由四部分组成的问题:

问题第1部分:什么是SEO友好且适当的技术方法来实现此内部链接并从Azure存储检索blob?当然,作为外部资源获取的外部链接contoso.com/docs/product1-specs.pdf也需要是有效的可检索url

是: a) 将存储帐户的自定义域设置为子域assets.contoso.com,然后执行url重写/重定向到contoso.com/docs/* b) 将存储帐户的自定义域设置为contoso.com,然后执行url重写/重定向到contoso.com/docs/* c) 不一样的东西

我不想在assets.contoso.com上为一个单独的网站主持和管理排名——我希望将blob组织在“docs”容器中,在线显示时就像是一个名为“docs”的文件夹一样

问题第2部分:我创建了一个名为“iprobesolutions”的测试Azure存储帐户,并根据此屏幕截图将自定义域设置为iprobesolutions.com:

按此顺序执行以下步骤是否正确: 1) 在Azure存储帐户中,将iprobesolutions.com设置为自定义域iprobesolutions.com 2) 根据屏幕截图为iprobesolutions.com设置dns记录,如下所示: 以及将iprobesolutions.com指向iprobesolutions.blob.core.windows.net的DNS配置 3) 最后设置URL重写配置

或者我只需要URL重写配置,而不必在Azure存储中设置自定义域

问题第3部分:

对于URL配置部分,无论是作为步骤3还是作为单个步骤完成,请查看此问题和另一个来源,以下两个来源中的哪一个是IIS 8.5的正确web.config重定向,两者之间的区别是什么?如前所述,由于这是一个新网站,所以不需要维护旧链接。我不清楚对于我们的特定用例,我们需要重定向还是重写

目标是让iprobesolutions.com/docs/product1-specs.pdf成为规范名称(而不是Azure blob名称)


问题第4部分:由于iprobesolutions1.blob.core.windows.net被强制作为HTTPS连接,是否通过我们的HTTP网站将其转换为HTTP连接?这将导致一些浏览器发出错误的安全警报,如果是这样,既然iprobesolutions.com是一个静态营销网站,那么有什么解决方案可以避免这些误报,而不会突然被迫购买TSL证书以强制HTTPS连接到iprobesolutions.com


感谢您花时间阅读,我希望有人能从他们面对与我类似情景的经历中插话

对于初学者,您不能将根域同时映射到应用程序服务和存储帐户。我已经在你的另一个帖子中回复了


另外,请注意,谷歌要求所有网站使用HTTPS,否则您的网站将受到处罚。还有别的事情要考虑。 根据来自的评论,我将尝试分别重新发布IIS问题第3部分。我已决定在MS Server 2016通过IIS 10.0进入GA之前,使用https设计azure存储和我们的子域/域的使用。从目前为止我找到的信息来看,在IIS 8.0中尝试这一点,对于一个IIS/DNS初学者来说,将其拼凑起来似乎既复杂又耗时。因此,现在我们将把docs文件夹作为我们站点的子文件夹,并继续使用http,直到技术和资源可用,使其更容易过渡。
  <rule name="redirect-docs" stopProcessing="true">
                <match url="docs/(.*)"/>
                <action type="Redirect" url="https://iprobesolutions1.blob.core.windows.net/docs/{R:1}"></action>
              </rule>


<rule name="docs redirection" stopProcessing="false">
    <match url="docs/(.*)" ignoreCase="true" />
    <action type="Redirect" url="https://iprobesolutions.com/docs/{R:1}" redirectType="Permanent" appendQueryString="true" logRewrittenUrl="true" />
  </rule>