【问题标题】:Progressive Web App on a hosted UWP app does not work with HTTPS (Self-Signed)托管 UWP 应用上的渐进式 Web 应用不适用于 HTTPS(自签名)
【发布时间】:2020-04-28 19:33:51
【问题描述】:

一个托管在 IIS 上的 PWA Angular 应用程序(HTTPS 与自签名证书绑定),由 UWP 应用程序访问(托管的 UWP:只是一个指向 PWA 应用程序的 UWP shell)。

package.appxmanifest 配置(例如 StartPage 和 Content URIs)指向带有 HTTP 方案的 PWA 时,它运行良好(当然,除了 Service Worker 注册会引发错误,因为 HTTPS 是必需的)。但是,当我将 URL 更新为指向 HTTPS 时,UWP 仅显示一个没有错误的空白屏幕(在调试 UWP 时在 VS2017 的 Javascript 控制台上)。

注意:使用 HTTPS 访问 PWA 可以在浏览器中正常工作。仅供参考,使用自签名证书。

简而言之:
PWA+浏览器+(HTTP 或 HTTPS)=> 好的
PWA+UWP+HTTP => 好的
PWA+UWP+HTTPS(自签名)=> NG

【问题讨论】:

    标签: https uwp service-worker progressive-web-apps self-signed-certificate


    【解决方案1】:

    开发 PWA-UWP 时的常见限制:

    • 最低 Windows 10 版本:1809(从 EdgeHTML WebView 开始支持 Service Worker)
    • 在客户端设备上安装 SSL 证书(如果是自签名)
    • 应用网址必须以:https://<DomainName>(IP 地址无效)开头
    • 客户端设备必须启用开发者模式(必须允许旁加载应用)

    警告: 如果您计划使用以下 Visual Studio 模板来创建 UWP - PWA: 请注意,应用程序 URL 应该在构建应用程序时已知并在 package.appxmanifest 中配置。在我们的案例中,这是不可能的,因为我们正在构建一个本地 PWA。

    但是,如果应用 URL 是固定的,那么您可以使用 WinJs API 的全部功能。最好的部分是 WinJs API 访问代码可以写在你的 PWA 中,因此你的 UWP 项目只是一个 0 代码的 shell。

    【讨论】:

    • 您是否有指向您提到的那些 PWA-UWP 约束的文档的链接?
    • 我从各种来源中找到了它们
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 2019-11-20
    • 2019-05-16
    • 2019-01-29
    • 1970-01-01
    相关资源
    最近更新 更多