Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ConnectionError: [...] Failed to establish a new connection: [Errno 11001] getaddrinfo failed #83

Closed
botkero opened this issue Jan 24, 2023 · 6 comments

Comments

@botkero
Copy link

botkero commented Jan 24, 2023

Hello,

Firstly, thank you for this great work here. However, I have come across a hurdle where I don't quite know what the problem is.

I'm not entirely certain that something is misconfigured from my side. Maybe you have some ideas.

First, I would like to use this extension with mkdocs. More specifically mkdocs-material, but that comes with mermaid by default, which, I think, is inferior to plantuml. If I take the default address, it works fine. However, I have my own plantuml instance and it doesn't work with that. The only difference is that one uses http and the other https.

My configuration is simple:

plantuml_markdown:
    server: https://gitlab-plantuml-xxxxxxxxxxx.de/  # fails
    server: http://www.plantuml.com/plantuml # works

This is the error message I receive:

WARNING:urllib3.connectionpool:Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000026E50E8D610>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed')': //png/SoWkIImgAStDuL9GSC_FJwjKqBLJKF3DJCvEhVJDBorEjL98Jip9AOPBs-ZgeaeNfHONvEUb57CvfEQbW0m200==
WARNING:urllib3.connectionpool:Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000026E505F71D0>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed')': //png/SoWkIImgAStDuL9GSC_FJwjKqBLJKF3DJCvEhVJDBorEjL98Jip9AOPBs-ZgeaeNfHONvEUb57CvfEQbW0m200==
WARNING:urllib3.connectionpool:Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000026E50E85210>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed')': //png/SoWkIImgAStDuL9GSC_FJwjKqBLJKF3DJCvEhVJDBorEjL98Jip9AOPBs-ZgeaeNfHONvEUb57CvfEQbW0m200==
ERROR    -  Error reading page 'gitlab/gitlab.md': HTTPSConnectionPool(host='gitlab-plantuml-xxxxxxxxxxx.de',
            port=443): Max retries exceeded with url:
            //png/SoWkIImgAStDuL9GSC_FJwjKqBLJKF3DJCvEhVJDBorEjL98Jip9AOPBs-ZgeaeNfHONvEUb57CvfEQbW0m200== (Caused by
            NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000026E50E83E90>: Failed to establish a
            new connection: [Errno 11001] getaddrinfo failed'))
ConnectionError: HTTPSConnectionPool(host='gitlab-plantuml-xxxxxxxxxxx.de', port=443): Max retries exceeded with url: //png/SoWkIImgAStDuL9GSC_FJwjKqBLJKF3DJCvEhVJDBorEjL98Jip9AOPBs-ZgeaeNfHONvEUb57CvfEQbW0m200== (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000026E50E83E90>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))
@mikitex70
Copy link
Owner

Hi @botkero, I need some more info to help you:

  1. have you tried calling your personal plantuml with a diagram in a browser? You can use your url by adding /plantuml/png/SoWkIImgAStDuNBAJrBGjLDmpCbCJbMmKiX8pSd9vt98pKi1IW80, which should render a png diagram (maybe the prefix '/plantuml' is not necessary, depending on how you installed plantuml)
  2. at which path is plantuml deployed on your server? Usually plantuml responds in a path /plantuml, in your case it seems to be at the root url
  3. try removing the trailing slash from your URL in the mkdocs configuration: the first three lines of the stack trace refer to a path //png/..., the double slash can interfere with the routing rules on the server (maybe I need to remove the last slash from the server URL if present)
  4. does the installation use a self-signed certificate? I have not tested the plugin with HTTPS and self-signed certificates, maybe I have to manage them (but from the stack trace it seems that it is not the case)

@botkero
Copy link
Author

botkero commented Jan 28, 2023

  1. yes, this works perfectly. I can also use the VSCode extension PlantUML and enter my URL there and generate diagrams.
  2. I may need to mention here that the server was set up for me. All I know is that PlantUML is inside a Docker environment.
  3. didn't help, unfortunately. The error message has changed though, if I'm not entirely wrong.
  4. don't know that, saw your reply too late too. I will ask about it on Monday.
WARNING:urllib3.connectionpool:Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) 
after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: 
unable to get local issuer certificate (_ssl.c:992)'))': 
/png/SoWkIImgAStDuNBCoKnELT2rKt3AJx9IS2mjoKZDAybCJYp9pCzJ24ejB4qjBk42oYde0jM05MDHLLoGdrUSoeLkM5u-K5sHGY9sGo6ARNHr8QeJSQc66kwGcfS2SZ00 

WARNING:urllib3.connectionpool:Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) 
after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: 
unable to get local issuer certificate (_ssl.c:992)'))': 
/png/SoWkIImgAStDuNBCoKnELT2rKt3AJx9IS2mjoKZDAybCJYp9pCzJ24ejB4qjBk42oYde0jM05MDHLLoGdrUSoeLkM5u-K5sHGY9sGo6ARNHr8QeJSQc66kwGcfS2SZ00 

WARNING:urllib3.connectionpool:Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) 
after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: 
unable to get local issuer certificate (_ssl.c:992)'))': 
/png/SoWkIImgAStDuNBCoKnELT2rKt3AJx9IS2mjoKZDAybCJYp9pCzJ24ejB4qjBk42oYde0jM05MDHLLoGdrUSoeLkM5u-K5sHGY9sGo6ARNHr8QeJSQc66kwGcfS2SZ00 ERROR - Error reading page 'gitlab/gitlab.md': 

HTTPSConnectionPool(host='gitlab-plantuml.xxxxxxxxx.de', port=443): Max retries exceeded with url: /png/SoWkIImgAStDuNBCoKnELT2rKt3AJx9IS2mjoKZDAybCJYp9pCzJ24ejB4qjBk42oYde0jM05MDHLLoGdrUSoeLkM5u-K5sHGY9sGo6ARNHr8QeJSQc66kwGcfS2SZ00 
(Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:992)'))) 
SSLError: HTTPSConnectionPool(host='gitlab-plantuml.xxxxxxxxx.de', port=443): Max retries exceeded with url: /png/SoWkIImgAStDuNBCoKnELT2rKt3AJx9IS2mjoKZDAybCJYp9pCzJ24ejB4qjBk42oYde0jM05MDHLLoGdrUSoeLkM5u-K5sHGY9sGo6ARNHr8QeJSQc66kwGcfS2SZ00 
(Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:992)')))

@mikitex70
Copy link
Owner

It's definitely a problem related to an SSL certificate that can't be verified, probably because it's self-signed.
You can try to generate a valid certificate using Let's Encrypt, for example using a container with Traefik, but maybe it can be a bit complex if you never used it.
I think it would be helpful if I add an option to disable certificate validation, useful at least with development configurations.
I'll let you know when I made the change.

@mikitex70 mikitex70 added this to To do in plantuml-markdown via automation Jan 28, 2023
@mikitex70 mikitex70 moved this from To do to In progress in plantuml-markdown Jan 28, 2023
mikitex70 added a commit that referenced this issue Jan 29, 2023
Added the `insecure` configuration option for disabling HTTPS SSL
certificate validation.
Set it to `True` when the PlantUML server uses self-signed certificates.
@mikitex70
Copy link
Owner

Hi @botkero, I've just released the version 3.8.1 which adds the insecure configuration option, which can be used to disable SSL validation checks.
In your case set it to True to disable checks, as certificates in your server are not valid (they seems self-signed).

@botkero
Copy link
Author

botkero commented Jan 29, 2023

Hi @botkero, I've just released the version 3.8.1 which adds the insecure configuration option, which can be used to disable SSL validation checks. In your case set it to True to disable checks, as certificates in your server are not valid (they seems self-signed).

Hi @mikitex70,
now works flawlessly, thank you!
Can I appreciate the work with tip?

@mikitex70
Copy link
Owner

You are free to do as you like.
I added the section for discussions, it could be useful for other situations as well (I didn't know it existed 😄).
Please close this issue is you think the issue has been resolved.

@botkero botkero closed this as completed Jan 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
plantuml-markdown
  
In progress
Development

No branches or pull requests

2 participants