gpt4 book ai didi

ssl - 超过 HTTPSConnectionPool 最大重试次数

转载 作者:太空宇宙 更新时间:2023-11-03 12:44:21 25 4
gpt4 key购买 nike

我有一个在 nginx/uwsgi 上运行的生产中的 django 应用程序。我们最近开始对所有连接使用 SSL。自从迁移到 SSL 后,我经常收到以下消息:

HTTPSConnectionPool(host='foobar.com', port=443): 
Max retries exceeded with url: /foo/bar

基本上发生的事情是我让浏览器与 django 服务器代码通信,然后使用请求库调用 api。它与生成错误的 api 的连接。此外,我已将所有请求移至一个 session (即请求 session ),但这没有帮助。

我已经增加了 uwsgi 监听器的数量,因为我认为这可能是问题所在,但我们的负载并没有那么高。此外,我们在 SSL 之前从未遇到过这个问题。有没有人对如何解决这个问题有一些建议?

编辑

我如何调用 API 的代码片段。我已经(大部分)逐字发布了它。请注意,实际上失败的不是代码,而是在调用 self.session.post

时抛出异常的请求库
def save_answer(self):
logger.info("Saving answer to question")
url = "%s1.0/exam/learneranswer/" % self.api_url
response = {'success': False}

data = {'questionorder': self.request.POST.get('questionorder'),
'paper': self.request.POST.get('paper')}
data['answer'] = ",".join(self.request.POST.getlist('answer'))
r = self.session.post(url, data=simplejson.dumps(data))
if r.status_code == 201:
logger.info("Answer saved successfully")
response['success'] = True
elif r.status_code == 400:
if r.text == "Paper expired":
logger.warning("Timer has expired")
response['message'] = 'Your time has run out'
if r.text == "Question locked":
response['message'] = \
'This question is locked and cannot be answered anymore'
else:
logger.error("Unknown error")
self.log_error(r, "Unknown Error while saving answer")
else:
logger.error("Internal error")
self.log_error(r, "Internal error in api while saving answer")
return simplejson.dumps(response)

最佳答案

我发现当我的一个 View 中的某些项目抛出异常时会发生此错误。例如,当使用 django 'requests' 框架将数据发布到另一个 URL 时:

r = requests.post(url, data=json.dumps(payload), headers=headers, timeout=5)

downrange 服务器有连接问题,抛出异常并冒出并给了我上面的错误。我用这个代替:

try:
r = requests.post(url, data=json.dumps(payload), headers=headers, timeout=5)
except requests.exceptions.ConnectionError as e:
r = "No response"

然后修复了它(当然,我建议添加更多错误处理,但上面是相关的子集)。

关于ssl - 超过 HTTPSConnectionPool 最大重试次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16230850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com