【发布时间】:2020-08-01 07:26:06
【问题描述】:
如何修复由 CNAME DNS 记录引起的 SSL 错误?
我有一个托管在 AWS 上的 API,可通过 https://sd098fs0f98s9f0s.execute-api.us-east-1.amazonaws.com 之类的 URL 访问。
为了缩短它并重新命名它,我设置了一条 CNAME 记录以将 myapi.mydomain.com 映射到 sd098fs0f98s9f0s.execute-api.us-east-1.amazonaws.com。
使用原始 URL,这个简单的 Python 可以完美访问 API:
import requests
r = requests.get(url='https://sd098fs0f98s9f0s.execute-api.us-east-1.amazonaws.com')
但是,使用新网址:
import requests
r = requests.get(url='https://myapi.mydomain.com')
导致错误:
Traceback (most recent call last):
File ".env/lib/python3.7/site-packages/urllib3/connectionpool.py", line 603, in urlopen
chunked=chunked)
File ".env/lib/python3.7/site-packages/urllib3/connectionpool.py", line 344, in _make_request
self._validate_conn(conn)
File ".env/lib/python3.7/site-packages/urllib3/connectionpool.py", line 843, in _validate_conn
conn.connect()
File ".env/lib/python3.7/site-packages/urllib3/connection.py", line 370, in connect
ssl_context=context)
File ".env/lib/python3.7/site-packages/urllib3/util/ssl_.py", line 355, in ssl_wrap_socket
return context.wrap_socket(sock, server_hostname=server_hostname)
File "/usr/lib/python3.7/ssl.py", line 423, in wrap_socket
session=session
File "/usr/lib/python3.7/ssl.py", line 870, in _create
self.do_handshake()
File "/usr/lib/python3.7/ssl.py", line 1139, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1076)
这是什么原因造成的,我该如何解决?
【问题讨论】:
标签: python amazon-web-services ssl