随机出现SSLV3_ALERT_HANDSHAKE_FAILURE的API调用问题求助
随机出现SSLV3_ALERT_HANDSHAKE_FAILURE错误的排查求助
近期调用Shopify和Klaviyo的API时,随机出现SSLV3_ALERT_HANDSHAKE_FAILURE错误,具体情况如下:
- Shopify:仅拉取
Product及相关数据时随机失败,拉取Customer或Order数据基本正常; - Klaviyo:拉取任意实体数据时均可能随机失败,通常在持续拉取一段时间后触发;
开发环境:使用Python 3.10,Shopify采用官方Python客户端,Klaviyo采用基于tornado的自定义异步HTTP实现。
Shopify错误示例(拉取CustomCollection实体时触发)
... File "/home/airflow/.local/.virtualenvs/agents310/lib/python3.10/site-packages/shopify/base.py", line 196, in find collection = super(ShopifyResource, cls).find(id_=id_, from_=from_, **kwargs) File "/home/airflow/.local/.virtualenvs/agents310/lib/python3.10/site-packages/pyactiveresource/activeresource.py", line 386, in find return cls._find_every(from_=from_, **kwargs) File "/home/airflow/.local/.virtualenvs/agents310/lib/python3.10/site-packages/pyactiveresource/activeresource.py", line 525, in _find_every response = cls.connection.get(path, cls.headers) File "/home/airflow/.local/.virtualenvs/agents310/lib/python3.10/site-packages/pyactiveresource/connection.py", line 329, in get return self._open('GET', path, headers=headers) File "/home/airflow/.local/.virtualenvs/agents310/lib/python3.10/site-packages/shopify/base.py", line 23, in _open self.response = super(ShopifyConnection, self)._open(*args, **kwargs) File "/home/airflow/.local/.virtualenvs/agents310/lib/python3.10/site-packages/pyactiveresource/connection.py", line 290, in _open raise Error(err, url) pyactiveresource.connection.Error: <urlopen error [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:997)>
Klaviyo错误示例
File "/home/airflow/.local/.virtualenvs/agents310/lib/python3.10/site-packages/tornado/gen.py", line 767, in run value = future.result() File "/home/airflow/.local/.virtualenvs/agents310/lib/python3.10/site-packages/tornado/simple_httpclient.py", line 340, in run stream = await self.tcp_client.connect( File "/home/airflow/.local/.virtualenvs/agents310/lib/python3.10/site-packages/tornado/tcpclient.py", line 292, in connect stream = await stream.start_tls( File "/home/airflow/.local/.virtualenvs/agents310/lib/python3.10/site-packages/tornado/iostream.py", line 1367, in _do_ssl_handshake self.socket.do_handshake() File "/usr/local/lib/python3.10/ssl.py", line 1342, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:997)
该故障近期才出现,未修改过数据拉取流程及相关软件。初步排查结果:
- OpenSSL版本为1.1.1n,支持SSLv3、TLSv1、TLSv1.2、TLSv1.3;
- 用curl测试失败的请求可成功,排除特定端点问题;
- 若为密码套件不兼容,应完全无法运行,但此处仅随机失败。
现求助:
- 该故障的可能原因是什么?
- 是否与API限制、服务器问题有关?
- 有哪些排查建议?
内容的提问来源于stack exchange,提问作者babis21
相关产品推荐
相关产品推荐

