当我的服务器(称为服务器A)向另一台服务器(全部为服务器B)上的资源发出请求时,有时会出现此错误:ConnectionError: HTTPConnectionPool(host='some_ip', port=some_port): Max retries exceeded with url: /some_url/ (Caused by : [Errno 111] Connection refused)
异常中的消息是message : None: Max retries exceeded with url: /some_url/ (Caused by redirect)
之所以将其包括在内,是因为它具有额外的信息(caused by redirect)
。
正如我所说,我控制了此请求中涉及的两个服务器,因此可以对其中一个和/或两者进行更改。此外,该错误似乎是间歇性的,因为并非每次都发生。
潜在的相关信息-服务器A是运行apache的Python服务器,服务器B是NodeJS服务器。我不完全是一个Web服务器向导,因此,除此之外,我不确定要使用什么信息。
有谁确切知道此错误的含义,或如何进行修复研究?或者,是否有人知道哪个服务器可能是问题所在,哪个服务器发出了请求,或者哪个服务器收到了问题?
编辑:我们对外部Web资源的调用也开始发生错误。
最佳答案
您在“some_ip”和端口上得到了拒绝的CONN。这可能是由于
-没有服务器实际在该端口/IP组合上进行监听
-发送Conn Refused的防火墙设置(不太可能是原因!)
-第三-配置错误(更有可能)或繁忙的服务器,无法处理请求。
我相信,当-服务器A尝试连接到服务器B时,您会收到该错误。 (假设它是Linux和/或某些Unix衍生产品)netstat -ln -tcp在服务器上显示什么? (请使用netstat的人来了解这些标志-我们在这里正在做的-试图找出所有程序正在哪个端口上监听)。如果确实显示您的服务器B正在监听-iptables -L -n以显示防火墙规则。如果那里没有问题-很有可能是监听队列的配置错误。 (http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/023/2333/2333s2.html)或Google来收听积压。
这很可能是服务器B上的一个错误配置问题。(注意:如上所述的重定向循环-处理不正确可能最终会使服务器繁忙!因此可能的解决方法也可以解决您的问题)
关于Python-ConnectionError : Max retries exceeded,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14818740/