1

语境


我正在尝试使用Azure CDNVerizon来设置我的Angular项目,以执行实际的 URL 重写。

已使用专用blob容器设置存储帐户

在此处输入图像描述

并且CDN-Profile已配置为使用它。

在此处输入图像描述

我想做的是重定向所有传入的流量,以便Angular可以正常工作。

为此,我使用以下两个路由引擎规则:

在此处输入图像描述

这工作得很好,但该模式不支持Identity Server 4的重定向实现。

问题


Identity Server 4配置为在成功验证后重定向到以下 url(pastebin url)。

重定向后,我目前收到http 404错误消息。

如果我只使用以下 url,我也会得到同样的错误:

https://MyFancyWebsite.azureedge.net/security/callback

在此处输入图像描述

我不介意自己创建正则表达式模式,但老实说,我什至不知道最终 URL 应该是什么样子,以便Angular可以使用它。

我想补充一点,当前的实现在我的本地机器上没有任何问题。

4

1 回答 1

0

据我了解,您需要在规则引擎下修改源模式以捕获#.

对于第一个源模式,您可以使用((?:[^\?]*/)?)($|[\?#].*),对于第二个源模式,您可以使用((?:[^\?]*/)?[^\?/.]+)($|[\?#].*). 这是第二个模式的测试:

在此处输入图像描述

此外,您可以使用https://regex101.com下的正则表达式检查 url,并确保相关 blob 存在。例如,https://<your-storage-account-name>.blob.core.windows.net/cdn/security/callback/index.html

于 2018-03-27T03:17:56.527 回答