1

我目前正在使用带有 react 和 webpack 的 Symfony 来构建应用程序。我使用 Symfony CLI 开发服务器。根据PWA Workshop的说明书,我想把这个应用程序变成一个渐进式 Web 应用程序 (PWA) 。但是,根据我收集的信息,移动测试等需要完全信任的 SSL 证书,建议使用mkcert(或者 Let'sEncrypt)。我已经按照流程在 Symfony CLI 服务器上启用了 TLS. 但是,生成的证书似乎是自签名的,并不是完全受信任的。有没有办法从 Symfony CLI 服务器命令行调用受信任的 mkcert 证书或在 Symfony 配置文件中引用它们,以便服务器使用它们而不是symfony server:ca:install命令生成的自签名证书?(mkcert 似乎会生成两个 .pem 文件,其他非 php 开发服务器,例如http-party/http-server可以直接从命令行调用它们。)我的解决方法是使用证书配置我的本地 apach2 服务器,但是我想继续使用 Symfony 服务器进行调试。

更新 我没有提到我的开发环境是 Windows 10 上的 WSL2。这似乎是让受信任的证书工作的问题。由于浏览器在 Windows 中运行而服务器在 WSL 中运行,因此 Windows 浏览器不接受证书。我目前针对在 WSL 上运行的 mkcert 和 apache2 的工作是:

  1. 在 WSL 和 Windows 上安装 mkcert,在 WSL 和 Windows 中运行mkcert -install
  2. 将 Windows 根证书从 Windows 中创建的受信任存储复制到 WSL 中创建的受信任存储。mkcert -CAROOT通过在各自的环境中运行,您可以在两种环境中找到这些商店,
  3. 根据 mkcert 的说明运行mkcert localhost 127.0.0.1并将证书对添加到某个文件夹中,
  4. 然后根据互联网上的说明配置 apache2 以使用 SSL 和 mkcert 证书对。

我在mkcert solution找到了这个解决方法。

然而,这个问题仍然存在于 Symfony 服务器。目前还不清楚证书(根证书或其他证书)在symfony server:ca:install运行时安装在哪里,以及是否有办法制作这些证书的副本,以便服务器可以在 WSL 中运行并且 Windows 会接受它们。此外,Symfony 文档并没有说明这些证书是否只是自签名的,或者它们是否是像 mkcert 这样的受信任的根证书。

4

0 回答 0