中国大陆用户解决 Shopify Storefront API 网络问题的详细指南

likun - Jul 21 - - Dev Community

当在开发使用 Shopify Storefront API 的 Next.js 项目时, 你可能会遇到一个头疼的错误:“Client network socket disconnected before secure TLS connection was established”。这个问题困扰了我整整一个下午, 但是最终我成功解决了它!原来这个问题是由于中国大陆的网络防火墙导致的, 即使我将代理设置为全局模式也无济于事。但是, 通过开启代理的增强模式, 我终于解决了这个问题。因此在我的博客记录一下解决这个问题的过程

💡第一次尝试开启全局代理

由于错误提示与网络问题相关,问chatgpt后也是差不多的意思,我首先怀疑是网络连接不稳定导致的。这对于在大陆开发是经常的事情,因此,我将代理设置为全局模式,确保所有网络请求都通过代理服务器。不幸的是,错误依旧存在,问题并没有得到解决。

💡第二次尝试直连接模式

我怀疑可能是代理设置的问题,于是尝试将代理模式改为直连模式,看看是否能够解决问题。错误依旧存在,没有任何改善。我退出了代理软件,再试了试,还是同样的错误。

💡使用postman测试api

我开始怀疑是否不是网络问题, 于是使用 Postman 测试了我的 Shopify Storefront API。在没有代理的情况下, 请求无法成功; 但是开启代理后, 我的请求顺利得到了响应。这证明了我的 API 配置没有问题, 但是访问 API 确实需要使用代理。

💡第三次尝试开启增强模式

第三次我查看shopify社区这个帖子,这个是讨论shopify cli的,但是对于store front api 可能也适用。这里有人提到把网络改成增强模式,我决定尝试这种方法,看看是否也适用于 Storefront API。当我将代理模式切换到增强模式后,奇迹发生了——问题成功解决,我可以顺利发送请求并获得响应。这让我感到非常兴奋。奇怪的是,当我把代理模式改回规则+普通模式后,请求居然也成功了。这让我感到困惑,但至少问题已经解决。

结语

中国大陆的开发者在使用 Shopify Storefront API 时可能会遇到一些额外的挑战,但通过一些创造性的解决方案和耐心的尝试,这些问题是可以克服的。希望我的经验和解决方案能够帮助你顺利地进行开发工作。如果你有类似的经历或其他解决方法,欢迎在评论区分享你的经验。
我的博客原文地址

. . . . .
Terabox Video Player