无法使用https连接配置flutter web

问题描述 投票:0回答:1

我已经完成了多个过程来配置我的 flutter web,从

http://localhost
https://localhost

就像我已经按照以下过程创建了证书

openssl genrsa -out localhost.key 2048
创建私钥文件

生成证书签名请求(CSR):

openssl req -new -key localhost.key -out localhost.csr -subj "/CN=localhost"

使用 CSR 和密钥生成自签名证书:

openssl x509 -req -days 365 -in localhost.csr -signkey localhost.key -out localhost.crt

我添加了这些 .key 和 .csr 文件,创建了一个名为 cert 的文件夹,并添加了上面创建的证书。

然后我尝试使用

flutter run --web-launch-url=https://localhost:8444
没有运气得到错误,因为
https://localhost:8444
不是有效的 HTTP URL。

我已经创建了“serve.json”文件作为设置

{
   "request_handlers": [
    {
      "url_pattern": "/",
      "delegate": {
      "require_trusted_origin": false,
      "delegate_name": "flutter-tools/web-server",
      "secure": true,
      "web-port": 8444,
      "key_path":"cert/localhost.key",
      "certificate_path":"cert/localhost.crt"
     }
   }
]
    }

并运行命令 - as flutter run -d web-server --web-port 8444,它仍然打开 http://locallost:8444

然后我尝试使用配置创建“webdev.yaml”文件

serve:
    hostname: localhost
    port: 8444
    use_https: true
    certificate_path: cert/localhost.crt
    key_path: cert/localhost.key
    https_port: 8444

并使用命令 flutter pub global activate webdev 激活 webdev 并运行命令以 https“webdevserve”打开 chrome 它仍然是“http”而不是“https”

直到一天结束都没有运气。我需要使用 https 作为安全服务打开我的本地主机。

flutter
1个回答
0
投票

您可以将这些参数传递到 flutter 命令行: flutter run -d chrome --web-tls-cert-path= --web-tls-cert-key-path= --web-port=8444

请参阅此 PR https://github.com/flutter/flutter/issues/60704
查看可用选项:https://github.com/arpitgandhi9/flutter/blob/2063fde4ae1ce9ef725a6438de01a68bda8938b1/packages/flutter_tools/lib/src/runner/flutter_command.dart#L237

© www.soinside.com 2019 - 2024. All rights reserved.