mirror of
https://github.com/acme-dns/acme-dns.git
synced 2026-04-27 04:45:48 +03:00
[GH-ISSUE #156] ssl3_read_bytes:tlsv1 alert internal error #56
Labels
No labels
Documentation
Documentation
bug
enhancement
feature request
feature request
help wanted
pull-request
question
security
security
testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/acme-dns#56
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @BRTPOB on GitHub (Mar 3, 2019).
Original GitHub issue: https://github.com/acme-dns/acme-dns/issues/156
I've been trying to get my instance of acme-dns up and running, and thus far I'm stuck at the part where I register the domain. When I run the command, I get the following:
offspring@Madame_Hydra:~$ curl -v -X POST https://eskimomafia.com:4330/register
CApath: /etc/ssl/certs
curl: (35) error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error
I've removed everything but TLSv1.2 from my SSL options, yet it's still throwing this error. What am I doing wrong/what info would you like to see?
Thanks in advance for the help.
@Ajedi32 commented on GitHub (Mar 4, 2019):
Judging by the error message it seems like the TLS handshake to the API server is failing. Can you connect from a different client, like a web browser or an instance of curl on a different machine?
@joohoi commented on GitHub (Mar 4, 2019):
This error message seems like something that is often happening if you are using
tls = "letsencrypt"and theautocertLE validation either fails, or you are trying to connect to the server using a name that's not listed inapi_domainconfiguration variable.Reading your post, it looks like you should have:
api_domain = "eskimomafia.com"and if you are not doing any reverse proxying / firewall redirections:
autocert_port = "80"The
autocert_portvariable is used to tell acme-dns which port receives connections that are coming in from public internet to yourapi_domainIP address. This is required for the automated Let's Encrypt certificates (for acme-dns instance only).@BRTPOB commented on GitHub (Mar 4, 2019):
Hrm, ok. I can take a look at my config later tonight when I get home.
Thanks for the quick reply.
On Mon, Mar 4, 2019, 16:48 Joona Hoikkala notifications@github.com wrote:
@BRTPOB commented on GitHub (Mar 4, 2019):
This is my config, https://pastebin.com/SYVpxZgR. I'm running nginx with reverse proxies, but I don't have anything specifically for ACME-DNS, because I didn't think there needed to be any sort of redirection or anything, plus I wasn't sure how to set that up.
@schue30 commented on GitHub (Mar 4, 2019):
@BRTPOB If you use nginx as a reverse-proxy in front of acme-dns can you please share your nginx config?
@joohoi commented on GitHub (Mar 5, 2019):
Ok, there's a few things going on in here. As your configuration seems to have
tls = "letsencrypt", acme-dns needs to be able to bind the autocert Let's Encrypt validation to port80(or get the connections to port 80 proxied to it to another port configured inautocert_portconfiguration variable).Another thing I spotted, is that the DNS part of acme-dns seems to be configured to listen to interface 127.0.0.1. To make acme-dns work correctly, the DNS part should be accessible over public internet on port 53 as well.
@BRTPOB commented on GitHub (Mar 5, 2019):
@schue30 right now I just have nginx running, with no redirects to acme-dns. If I need to set that up, I"ll share it.
@joohoi I have 53 forwarded to the machine running acme-dns. The acme-dns server is running on the same machine as the nginx system.
@joohoi commented on GitHub (Mar 5, 2019):
Ok, so the TLS issue stems from the fact that you do not allow traffic from public internet to the domain configured in:
api_domain = "eskimomafia.com"port 80 to reach acme-dns currently. Your alternatives are either to allow this traffic, use self signed (and created) certificates, or to turn off TLS for acme-dns.@BRTPOB commented on GitHub (Mar 5, 2019):
@joohoi I don't understand, I'm allowing port 80 traffic to the domain. I have ports 53, 80, 443 and all opened and pointing to the same server.
@joohoi commented on GitHub (Mar 5, 2019):
I don't seem to be able to connect to port 80 on
eskimomafia.comfrom public internet.@BRTPOB commented on GitHub (Mar 5, 2019):
Try now, sorry about that.
@joohoi commented on GitHub (Mar 5, 2019):
It seems like the connections to port 80 on
eskimomafia.comare not reaching the acme-dns server, but are redirected by Nginx.@BRTPOB commented on GitHub (Mar 5, 2019):
So how should I go about doing this? Is there some sort of nginx redirect I should be setting up to run the acme-dns server?
@joohoi commented on GitHub (Mar 5, 2019):
Not necessarily, as I pointed out previously, this is only required if you are running
tls = "letsencrypt". You already seem to have a valid certificate for the domain, so I'd suggest you to change your configuration to following:The example configuration above expects default certificate paths configured by Certbot.
@BRTPOB commented on GitHub (Mar 5, 2019):
OK, so I made those updates but I'm getting a 404 instead whenever I try to do the /register command.
@joohoi commented on GitHub (Mar 5, 2019):
Are you trying to connect
https://eskimomafia.com:4430/registeras you seem to be using a non-standard port in your configuration?@BRTPOB commented on GitHub (Mar 5, 2019):
that throws an error, if I try 443 or 80 it throws the 404. The 4330 says connection refused, which is currently forwarded to the server with acme-dns running. If I switch to the default port of 443, that throws the 404 not found.
@joohoi commented on GitHub (Mar 5, 2019):
This depends on your setup. There's something (most likely Nginx and/or firewall) interfering with your acme-dns setup that I can't unfortunately help you with.
@BRTPOB commented on GitHub (Mar 5, 2019):
OK, thanks, I was afraid of that.
@BRTPOB commented on GitHub (Mar 5, 2019):
OK, so I found an nginx config that you had commented on previously that talked about how to redirect the /register and /update URLs to the proper server. By changing the port to 4330, I was able to get it to register properly. Thanks for all the help, as it looks like I'm 99% of the way to where I wanted to get, and the last part should be simple enough to complete.
@schue30 this is what I changed my nginx config (split out into acme-dns.conf for clarity/cleanliness) looks like: https://pastebin.com/813xFQ7T
EDIT: I was able to get the redirects working and everything like I had originally wanted. The /register command now works as expected, and I'm about to try and setup the automated updating of the certs. Thanks again for all the help, @joohoi.