自从最近的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,
},
},
...
型
摘要
- 我不认为这与证书有关,因为它在Chrome和FF上运行得很好。
- 在最近更新Safari之前,它确实工作了。
- 在Safari中:我可以使用
localhost
而不是域别名通过https
连接到我的应用程序,但不幸的是,这不是一个选项
任何想法?任何提示非常感谢!🙌
1条答案
按热度按时间bz4sfanl1#
好吧,找到了一个答案,虽然不是很满意。
苹果已经发布了新的Safari版本(17.0),其中http/3会自动为“一些”用户激活。所以看起来我是被选中的用户之一,但也找不到任何选项来禁用http/3,以便运行一些适当的测试。
然而,似乎http/3忽略了对
/etx/hosts
中列出的域的查找,因此localhost
的自定义域别名将不起作用。所以我的解决方案是通过
http://localhost
运行我所有的应用程序。