Safari 15.1 在有系统代理的情况下无法连接 WebSocket?

2021-10-29 16:46:36 +08:00
 NanonaN

今天用 B 站看直播的时候遇到了这个问题,系统 macOS Monterey ,Safari 版本 15.1 ,B 站直播的弹幕加载不出来,检查网页发现主要是由于 WebSocket 报错引起,“WebSocket connection to 'wss://tx-bj-live-comet-06.chat.bilibili.com/sub' failed: The operation couldn’t be completed. (kNWErrorDomainPOSIX error 57 - Socket is not connected)”。此时 ClashX 设为系统代理,无论是直连模式、规则模式还是全局模式,都会发生这个错误,但只要退出 ClashX 或关闭系统代理后问题即消失。此问题只在 Safari 中出现,Chrome 和 Edge 则没有这个问题。这是 Safari 15 引入的新 Bug 吗?

4809 次点击
所在节点    Apple
15 条回复
jmllx1963
2021-10-29 16:54:54 +08:00
Monterey 的 Safari 开启了 NSURLSession WebSocket 这个实验性特性,会导致 WebSocket 在 HTTPS 代理下无法工作,在开发者菜单中关掉之后一切正常。
NanonaN
2021-10-29 16:55:13 +08:00
经过搜索后发现在 Safari 里的开发->试验性功能->NSURLSession WebSocket 取消勾选后问题消失,打扰了
NanonaN
2021-10-29 16:55:47 +08:00
@jmllx1963 谢谢,我刚刚也搜到这个解决方案了🙏
ab
2021-10-30 06:34:47 +08:00
谢谢
LoneFireBlossom
2021-10-30 07:51:49 +08:00
Catalina 的 Safari 15.1 试验性功能里竟然没有这个选项……
outtime
2021-11-29 21:05:41 +08:00
感谢,刚遇到这个问题,我对着 ws 实现部分琢磨半天。。。
kenshin912
2021-12-01 10:16:53 +08:00
感谢 , 同样在 Monterey 中的 Safari 里遇到了这个问题 , 关闭 NSURLSession WebSocket 后正常工作了.
NatPower
2022-02-15 10:23:47 +08:00
@jmllx1963 我的天,你简直是大神。困扰我好几个月了。这个傻子 safari
blanu
2022-02-23 12:33:33 +08:00
相关 bug (不是 WebKit 的 bug ,是系统底层框架 NSURLSession 的): https://bugs.webkit.org/show_bug.cgi?id=228296

我要骂一句,傻逼苹果,这么恶劣的 bug 好意思发出来。
blanu
2022-03-30 19:37:01 +08:00
iOS 15.4 、macOS 12.3 依然没修好,应该和上面我给出的 bug 无关,是 NSURLSession 的另一个 bug 。
hzlzh
2022-05-02 23:25:41 +08:00
@blanu 这个问题好难解决,目前没有找到办法禁用,你有新思路吗?
neiltroyer849
2022-05-07 19:26:10 +08:00
2022 都快到年中了 Safari 还是没有支持已经成为浏览器普遍标准 ES2018 的 RegExp lookbehind assertions ( 2017 年出来的东西到现在一些网页表格都看不了);到现在看 twich 导致的 GB 级内存泄漏也没修好,NSURLSession 不管不问就直接放在了新 safari 里当默认选项。确实已经无语到极点了
hb751968840
2022-07-15 15:57:56 +08:00
@jmllx1963 感谢。
wsph123
2022-10-05 00:45:11 +08:00
@jmllx1963 感谢。

这问题太离谱了😨
forgetandnew
55 天前
依然存在,2024 年

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/811568

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX