【发布时间】:2020-09-23 23:24:11
【问题描述】:
问题 将 Blazor webassembly 应用部署为应用服务容器后,我们在浏览器中收到以下错误:
AuthenticationService.js:1 Mixed Content: The page at 'https://YYY.azurewebsites.net/authentication/login?returnUrl=https%3A%2F%2FYYY.azurewebsites.net%2Ffetchdata' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://YYY.azurewebsites.net/.well-known/openid-configuration'. This request has been blocked; the content must be served over HTTPS.
想知道 Blazor 目前是否支持 docker 部署,如果支持,我们该如何解决?
重新制作的步骤: 1. 在 VS 2019 专业预览版 16.7.0 预览版 2.0 中:创建 Blazor 应用程序(标准“Blazor WebAssembly 应用程序”模板),启用托管选项并使用 Identity Server 进行应用内身份验证 2. 将 linux docker 容器部署到 Azure Web App for containers 服务(B1) 3. 应用服务的 HTTPS Only 设置为 ON
我们为此使用以下简单的 docker 文件:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS runtime
WORKDIR /app
EXPOSE 80
COPY . .
ENTRYPOINT ["dotnet", "AppNameHere.Server.dll"]
不知何故,Blazor 使用的 OIDC JS 库没有发现我们在 HTTPS 上运行的事实(尽管在容器实例和应用服务负载平衡器之间使用了 HTTP)。
【问题讨论】:
标签: azure docker blazor asp.net-blazor