bignano
bignano

Reputation: 593

Connection to AWS timed out using Python boto

I ran Python program in Cygwin to connect to AWS, but failed consistently as being timed out. But my connection to AWS using aws cli in Cygwin always works. Also if I run the same python code in Windows, it also works. I have checked all the connection credentials which are the same for all.

Here is the error msg:

Traceback (most recent call last):  
  File "<stdin>", line 1, in <module>  
  File "/usr/lib/python2.7/site-packages/boto-2.38.0-py2.7.egg/boto/ec2/connection.py", line 585, in get_all_instances
    max_results=max_results)   
  File "/usr/lib/python2.7/site-packages/boto-2.38.0-py2.7.egg/boto/ec2/connection.py", line 681, in get_all_reservations
    [('item', Reservation)], verb='POST')   
  File "/usr/lib/python2.7/site-packages/boto-2.38.0-py2.7.egg/boto/connection.py", line 1170, in get_list 
    response = self.make_request(action, params, path, verb)   
  File "/usr/lib/python2.7/site-packages/boto-2.38.0-py2.7.egg/boto/connection.py", line 1116, in make_request
    return self._mexe(http_request)   
  File "/usr/lib/python2.7/site-packages/boto-2.38.0-py2.7.egg/boto/connection.py", line 1030, in _mexe
    raise ex   
socket.error: [Errno 116] Connection timed out

Upvotes: 1

Views: 913

Answers (1)

bignano
bignano

Reputation: 593

I have found out that the culprit lies in the proxy credentials.

I put HTTP_PROXY and HTTPS_PROXY as Windows Environment Variables. However, when run in Cygwin, boto uses 'http_proxy' to match without considering the case of the word

(see  /boto/connection.py(669)handle_proxy()
line 669:  if 'http_proxy' in os.environ and not self.proxy:).   

When I changed the capital case HTTP_PROXY to lower case http_proxy, then it worked. Not sure why it isn't a problem if I run with Python in Windows.

Upvotes: 2

Related Questions