使用 Azure CDN 强制使用 HTTPS
Forcing HTTPS with Azure CDN
我在存储帐户前使用 Azure CDN。我只想通过 HTTPS 提供所有服务,所以我在自定义域上设置了 HTTPS 并创建了一个 URL 重写:
但问题是我最终 URL 是这样的:
https://the-custom-domain/website/17/index.html
website/17/index.html
是Storage Account里面的root内容,不知道为什么要在文件名前加上容器路径。还有静态文件的重写规则(https://blog.lifeishao.com/2017/05/24/serving-your-static-sites-with-azure-blob-and-cdn)。
知道 URL 重写有什么问题吗?
我正在使用 Azure Verizon Premium CDN。
我做了两条规则。规则的顺序很重要。每次测试后您最多需要等待 4 小时。
图像删除 index.html 2 继续图像 3
=============== 结束第一个规则 ==================
此处为文本
1. 将 HTTP 重定向到 HTTPs
规则--> (.*) 目标 https://%{主机}/$1
- 删除删除 index.html 100% 无效 ;-(
URL重写
2.A 来源 ((?:[^\?]/)?)($|\?.) - 目的地 -> $1index.html$2
2.B 来源 ((?:[^\?]/)?[^\?/.]+)($|\?.) - 目的地 - > $1/ index.html$2
我正在使用 Azure Verizon Premium。
在这种情况下,您可能希望将您的 http 请求重定向到您的 https 端点。在这种情况下,您必须为您想要此行为的每个端点添加一条规则:
match condition:
if Request Scheme = HTTP
feature:
Redirect - Code: 301, source: (.*), destination: https://%{host}/
此回复发现于 docs microsoft
我正在使用以下配置将任何请求重定向到 https
如果
- 请求架构,HTTP
特征
- URL 重定向
- 代码:301
- 来源:(.*)
- 目的地:
https://%{host}/
此处有 MS 的官方指南,适用于标准 Azure CDN:
https://docs.microsoft.com/en-us/azure/cdn/cdn-standard-rules-engine
总结如下:
将用户重定向到 HTTPS
- 在 CDN 配置文件页面上,select 您要为其创建规则的终结点。
- Select 规则引擎选项卡。
- Select 添加规则并输入规则名称。
- 要确定规则适用的请求类型,请创建匹配条件:
- Select添加条件,然后select请求协议匹配条件。
- 对于运算符,select等于。
- 对于值,select HTTP。
- Select对满足匹配条件的请求应用的动作:
- Select添加动作,然后selectURL重定向。
- 对于类型,select 找到 (302)。
- 对于协议,select HTTPS。
- 将所有其他字段留空以使用传入值。
- Select 保存以保存新规则。该规则现在可以使用了。
现在简单多了
无需输入主机名、路径等任何内容。
请确保您已在 Origin 设置中同时启用 HTTP 和 HTTPS
应该会在 10 分钟内反映出来
如果您想要简单的 1:1 http 到 https 解决方案(没有任何不需要的),您应该使用以下规则:
https://%{host}/%{request_uri#/}
如果
- 请求架构,HTTP
特征
- URL 重定向
- 代码:
301
- 来源:
(.*)
- 目的地:
https://%{host}/%{request_uri#/}
我在存储帐户前使用 Azure CDN。我只想通过 HTTPS 提供所有服务,所以我在自定义域上设置了 HTTPS 并创建了一个 URL 重写:
但问题是我最终 URL 是这样的: https://the-custom-domain/website/17/index.html
website/17/index.html
是Storage Account里面的root内容,不知道为什么要在文件名前加上容器路径。还有静态文件的重写规则(https://blog.lifeishao.com/2017/05/24/serving-your-static-sites-with-azure-blob-and-cdn)。
知道 URL 重写有什么问题吗?
我正在使用 Azure Verizon Premium CDN。
我做了两条规则。规则的顺序很重要。每次测试后您最多需要等待 4 小时。
图像删除 index.html 2 继续图像 3
=============== 结束第一个规则 ==================
此处为文本
1. 将 HTTP 重定向到 HTTPs
规则--> (.*) 目标 https://%{主机}/$1
- 删除删除 index.html 100% 无效 ;-(
URL重写
2.A 来源 ((?:[^\?]/)?)($|\?.) - 目的地 -> $1index.html$2
2.B 来源 ((?:[^\?]/)?[^\?/.]+)($|\?.) - 目的地 - > $1/ index.html$2
我正在使用 Azure Verizon Premium。
在这种情况下,您可能希望将您的 http 请求重定向到您的 https 端点。在这种情况下,您必须为您想要此行为的每个端点添加一条规则:
match condition:
if Request Scheme = HTTP
feature:
Redirect - Code: 301, source: (.*), destination: https://%{host}/
此回复发现于 docs microsoft
我正在使用以下配置将任何请求重定向到 https
如果
- 请求架构,HTTP
特征
- URL 重定向
- 代码:301
- 来源:(.*)
- 目的地:
https://%{host}/
此处有 MS 的官方指南,适用于标准 Azure CDN:
https://docs.microsoft.com/en-us/azure/cdn/cdn-standard-rules-engine
总结如下:
将用户重定向到 HTTPS
- 在 CDN 配置文件页面上,select 您要为其创建规则的终结点。
- Select 规则引擎选项卡。
- Select 添加规则并输入规则名称。
- 要确定规则适用的请求类型,请创建匹配条件:
- Select添加条件,然后select请求协议匹配条件。
- 对于运算符,select等于。
- 对于值,select HTTP。
- Select对满足匹配条件的请求应用的动作:
- Select添加动作,然后selectURL重定向。
- 对于类型,select 找到 (302)。
- 对于协议,select HTTPS。
- 将所有其他字段留空以使用传入值。
- Select 保存以保存新规则。该规则现在可以使用了。
现在简单多了
无需输入主机名、路径等任何内容。
请确保您已在 Origin 设置中同时启用 HTTP 和 HTTPS
应该会在 10 分钟内反映出来
如果您想要简单的 1:1 http 到 https 解决方案(没有任何不需要的),您应该使用以下规则:
https://%{host}/%{request_uri#/}
如果
- 请求架构,HTTP
特征
- URL 重定向
- 代码:
301
- 来源:
(.*)
- 目的地:
https://%{host}/%{request_uri#/}