使用Azure CDN强制HTTPS

时间:2018-04-09 11:16:59

标签: azure azure-cdn

我在存储帐户前使用Azure CDN。我只想通过HTTPS提供所有服务,所以我在自定义域上设置了HTTPS并创建了一个URL重写:

HTTPS rewrite rule

但问题是我最终得到这样的网址: https://the-custom-domain/website/17/index.html

website/17/index.html是存储帐户中的根内容,但我不知道为什么它会在文件名之前附加容器路径。还有静态文件的重写规则(https://blog.lifeishao.com/2017/05/24/serving-your-static-sites-with-azure-blob-and-cdn)。

知道URL重写有什么问题吗?

7 个答案:

答案 0 :(得分:8)

我正在使用Azure Verizon CDN

我记得订单时我做了两条规则 你需要在每次测试后等待4个小时

图像删除index.html 2继续作为图像3

enter image description here

enter image description here

===============结束第一规则==================
enter image description here

enter image description here

此处为文字
1.将HTTP重定向到HTTPs
规则 - > (。*)目的地https://% {host} / $ 1

  1. 删除删除index.html没有工作100%;-(
    URL重写
    2.A来源((?:[^ \?] /)?)($ | \?。)-Destination - > $ 1index.html $ 2
    2.B Source((?:[^ \?] /)?[^ \?/。] +)($ | \?。)-Destination - > $ 1 / index.html的$ 2

答案 1 :(得分:5)

我正在使用Azure Verizon Premium。

在这种情况下,您可能希望将http请求重定向到https端点。在这种情况下,您必须为想要此行为的每个端点添加一个规则:

  match condition:

    if Request Scheme = HTTP

  feature:

    Redirect - Code: 301, source: (.*), destination: https://%{host}/$1

此回复位于docs microsoft

答案 2 :(得分:3)

现在要简单得多 enter image description here

无需在主机名,路径等中输入任何内容。

确保在“原始设置”中同时打开了HTTP和HTTPS enter image description here

它应该在10分钟之内反映出来

答案 3 :(得分:2)

我正在使用以下配置将任何请求重定向到https

http to https - Azure CDN

IF 请求架构HTTP (特征) URL重定向 代码301 资源 (。*) 目标https://% {host} / $ 1

答案 4 :(得分:1)

这里有来自MS的官方指南,可与标准Azure CDN一起使用:

https://docs.microsoft.com/en-us/azure/cdn/cdn-standard-rules-engine

摘要如下:

将用户重定向到HTTPS

  • 在CDN配置文件页面上,选择要为其创建规则的端点。
  • 选择“规则引擎”标签。
  • 选择添加规则并输入规则名称。
  • 要确定规则适用的请求类型,请创建一个匹配条件:
    • 选择“添加条件”,然后选择“请求协议匹配条件”。
    • 对于“运算符”,选择“等于”。
    • 对于“值”,选择HTTP。
  • 选择要应用于满足匹配条件的请求的操作:
    • 选择“添加操作”,然后选择“ URL重定向”。
    • 对于Type,选择Found(302)。
    • 对于协议,选择HTTPS。
    • 将所有其他字段保留为空白以使用输入值。
  • 选择“保存”以保存新规则。现在可以使用该规则。

答案 5 :(得分:0)

无法确认100%但是如果你进入你创建的终点,左边有一个导航选项...设置 - > “起源”。单击该部分,在该部分,中途向下,有协议部分。您可以选择http或https。 同样,不是100%确定文档很薄。 HTH 戴夫

答案 6 :(得分:0)

如果您想使用简单的1:1从http到https的解决方案(没有不必要的内容),则应使用以下规则:

model.user.firstName = 'Else';

IF

  • 请求模式,HTTP

功能

  • URL重定向
  • 代码:https://%{host}/%{request_uri#/}
  • 来源:301
  • 目的地:(.*)