我在一台 Nginx 上搭建 https 服务,证书使用自签名的证书,然后使用 Python 访问 https 服务。
解决方法1:
#!/bin/env python
import requests
url = "https://52.77.252.184/test.txt"
ret = requests.get(url, verify="/tmp/ssl/requests_test.crt")
print ret.status_code
通过 verify 指定证书,表示相信此证书(requests_test.crt 是服务器端证书);也可以用 verify=False,表示不验证服务器端的证书。
解决方法2:
设置环境变量 REQUESTS_CA_BUNDLE:
export REQUESTS_CA_BUNDLE=/tmp/ssl/requests_test.crt
然后使用 request 访问。
#!/bin/env python
import requests
url = "https://52.77.252.184/test.txt"
ret = requests.get(url)
print ret.status_code