webpack Safari无法通过https连接到localhost上的别名主机名

qhhrdooz  于 9个月前  发布在  Webpack
关注(0)|答案(1)|浏览(163)

自从最近的Safari更新以来,我再也不能通过本地域别名在localhost上通过https连接到我的本地React应用程序了。但是,我可以通过https://localhost:<someport>访问它们,但是域别名导致
无法连接到服务器
错误.它曾经在过去的工作毫无疑问. → Safari..

我的设置

// hosts

# The classic
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost

# Local dev aliases
127.0.0.1 some.local.com
::1 some.local.com

字符串
我还通过mkcert创建了证书

$ mkcert -install
$ mkcert "*.local.com" localhost 127.0.0.1 ::1


这似乎起作用了,因为我在Chrome或FF上再也没有收到任何X1 M3 N1 X安全警告。

// webpack.config -> devServer

...
server: {
  type: "https",
  options: {
    key: readFileSync(resolve(__dirname, "../certs/_wildcard.local.com+3-key.pem")),
    cert: readFileSync(resolve(__dirname, "../certs/_wildcard.local.com+3.pem")),
    ca: readFileSync("<output of mkcert -CAROOT>/rootCA.pem"),
    requestCert: true,
  },
},
...

摘要

  • 我不认为这与证书有关,因为它在ChromeFF上运行得很好。
  • 在最近更新Safari之前,它确实工作了。
  • 在Safari中:我可以使用localhost而不是域别名通过https连接到我的应用程序,但不幸的是,这不是一个选项

任何想法?任何提示非常感谢!🙌

bz4sfanl

bz4sfanl1#

好吧,找到了一个答案,虽然不是很满意。
苹果已经发布了新的Safari版本(17.0),其中http/3会自动为“一些”用户激活。所以看起来我是被选中的用户之一,但也找不到任何选项来禁用http/3,以便运行一些适当的测试。
然而,似乎http/3忽略了对/etx/hosts中列出的域的查找,因此localhost的自定义域别名将不起作用。
所以我的解决方案是通过http://localhost运行我所有的应用程序。

相关问题