Please fill out the fields below so we can help you better. Note: you must provide your domain name to get help. Domain names for issued certificates are all made public in Certificate Transparency logs (e.g. https://crt.sh/?q=example.com), so withholding your domain name here does not increase secrecy, but only makes it harder for us to provide help.
It produced this output:
under the safari/ios section:
|Safari 6 / iOS 6.0.1|Server sent fatal alert: handshake_failure|
|Safari 7 / iOS 7.1 R|Server sent fatal alert: handshake_failure|
|Safari 7 / OS X 10.9 R|Server sent fatal alert: handshake_failure|
|Safari 8 / iOS 8.4 R|Server sent fatal alert: handshake_failure|
|Safari 8 / OS X 10.10 R|Server sent fatal alert: handshake_failure|
My web server is (include version):
nginx version: nginx/1.14.0 (Ubuntu)
The operating system my web server runs on is (include version):
Operating System: Ubuntu 18.04.1 LTS
Kernel: Linux 4.15.0-122-generic
Architecture: x86-64
My hosting provider, if applicable, is:
digital ocean
I can login to a root shell on my machine (yes or no, or I don't know):
yes
I'm using a control panel to manage my site (no, or provide the name and version of the control panel):
no
The version of my client is (e.g. output of certbot --version or certbot-auto --version if you're using Certbot):
certbot 0.31.0
I set up ssl with let's encrypt recently and got feedback from iOS/Safari user that they are getting a "Connection is not private" error. This seems to relate to handshake error I see when visiting: https://www.ssllabs.com/ssltest/analyze.html?d=politipoint.org
I think a handshake error would result in a very different error. The handshake error would also mean your user is using Safari 8 or older.. Which is like, ancient. Safari 8 and older are only supporting weak cipher suits. Those cipher suits are not enabled on your server, for good reason.
So I would recommend you verify the version of Safari with the user in question. If they are using Safari 8 or older, recommend to upgrade their browser to a more secure version. If they are using Safari 9 or newer, there's another issue at play and that would require more information.
To harden (or soften) your security to prevent attempts to use weak cipher suites (or allow them), you should consider which cipher suites are allowed by your server.
This will provide you with information about the different suites (and let you choose weaker ones):
* This post was updated to reflect the excellent analysis by @JuergenAuer posted below.
It looks pretty hardened to me? It also looks like the default certbot nginx settings.. Which is based on the "Intermediate" recommendation of Mozilla.
Not sure what you think is wrong here: you should probably take it up with the certbot developers
I don't think the issue in this thread is a handshake error. Your Stack Overflow-thread clearly has an error explicitly mentioning the handshake error while the error mentioned in this thread is a generic "Connection is not private" error.. I think it's not the same.
@griffin The text your quoting is just the output from SSLLabs. It is by no means proof of the actual situation of the user experiencing the error mentioned in the OP. You're letting you to be guided by assumptions of the OP, which might be the wrong assumptions.
Assuming I'm correct I'd advice you to read more carefully.
So, it looks like when she went to politipoint.org, it incorrectly looked at the hikefinder.net certificate, likely causing the error?
I have since removed the hikefinder.net certificate and references to hikefinder.net in my nginx configs, as it is not as important currently and removing that variable. Her phone should only find the politipoint.org certificate now.
I also changed the ciphers as was instructed above and the test now comes back without handshake errors. But I think this is not related to user's error as was mentioned.
If you have any insight in what want to do...
2 different websites on same server, running on 2 different ports
2 domains, hikefinder.net and politipoint.org. I want these ssl, using reverse proxy. How can I prevent it from looking at the wrong cert?
I am still waiting to get user's iOS, safari version.
the screenshot showing hikefinder.net is from 2 hours ago, 11:30am mtn. I have not gotten a test / screenshot from her since I deleted the hikefinder.net certificate and removed hikefinder.net from my nginx configs.
There are several ways to go about solving this. Honestly though, the simplest way may be to just acquire a SAN certificate with all four domain names since all of your various applications are using the same IP address anyway. This would avoid concerns with SNI since your certificate would cover everything anyhow.
The common name on the cert would be politipoint.org, but the cert would contain subject alternative names (SANs) for all four names and thus could be validly served for any of them.