Comments (5)
This should work:
String JSON_STRING = "{\"subdomain\": \" + subdomain + "\", \"txt\": \"" + digest + "\"}";
So you are not supposed to add the _acme-challenge to the acme-dns subdomain, but instead point the CNAME record of _acme-challenge.example.org
in your original DNS zone to the fulldomain
from acme-dns registration (where example.org is the domain you want the certificate for).
from acme-dns.
Thx. And the POST /register is done only once and I will then reuse the values in each POST / update ?
from acme-dns.
Thx. And the POST /register is done only once and I will then reuse the values in each POST / update ?
Exactly, these are the values you will store on the box itself!
from acme-dns.
OK, got it working so far , but still struggeling with the configuration.
acme-dns server is accessible via port 53 on eknori.blogsite.org. I want to create certs also for eknori.spdns.org.
How do I have to configure acme-dns and put the CNAME record into it. This part is missing in the video.
I have registered with POST/ http://eknori.blogsite.org:9443/register
and stored the returned values in a .ini file where I can the retrieve them when doing the POST/ update
Here is my config.
listen = ":53"
protocol = "udp"
domain = "eknori.blogsite.org"
nsname = "ns1.eknori.blogsite.org"
nsadmin = "admin.eknori.blogsite.org"
records = [
"eknori.blogsite.org. A 192.168.178.33",
"eknori.spdns.org. A 192.168.178.33",
"_acme-challenge.eknori.spdns.org. CNAME b82313ea-b4c2-4ea3-bd96-8d5429402160.eknori.blogsite.org.",
"ns1.eknori.blogsite.org. A 192.168.178.33",
"ns2.eknori.blogsite.org. A 192.168.178.33",
"eknori.blogsite.org. NS ns1.eknori.blogsite.org.",
"eknori.blogsite.org. NS ns2.eknori.blogsite.org.",
]
Full- /Subdomains are the following
LE4D_DNS_FULLDOMAIN=15776d6a-ad4a-4674-8b49-d47e6bf90dc4.eknori.blogsite.org
LE4D_DNS_SUBDOMAIN=15776d6a-ad4a-4674-8b49-d47e6bf90dc4
DIG returns:
; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7 <<>> _acme-challenge.eknori.spdns.org CNAME @eknori.blogsite.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63110
;; flags: qr rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;_acme-challenge.eknori.spdns.org. IN CNAME
;; ANSWER SECTION:
_acme-challenge.eknori.spdns.org. 3600 IN CNAME 15776d6a-ad4a-4674-8b49-d47e6bf90dc4.eknori.blogsite.org.
;; Query time: 5 msec
;; SERVER: 80.134.211.28#53(80.134.211.28)
;; WHEN: Sun Dec 03 08:12:38 CET 2017
;; MSG SIZE rcvd: 152
The TXT record is written
[DOTS] midpoints.le4d - Digest: LOCoIvrX3lSt6jVQUtr9kHWFitaZO-1sr0LQkXa5fb0
[DOTS] midpoints.le4d - Fulldomain: 15776d6a-ad4a-4674-8b49-d47e6bf90dc4.eknori.blogsite.org
[DOTS] midpoints.le4d - Subdomain: 15776d6a-ad4a-4674-8b49-d47e6bf90dc4
[DOTS] midpoints.le4d - rc: 200
[DOTS] midpoints.le4d - {"txt": "LOCoIvrX3lSt6jVQUtr9kHWFitaZO-1sr0LQkXa5fb0"}
but
dig _acme-challenge.eknori.spdns.org txt @eknori.blogsite.org
; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7 <<>> _acme-challenge.eknori.spdns.org txt @eknori.blogsite.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 24155
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;_acme-challenge.eknori.spdns.org. IN TXT
;; Query time: 6 msec
;; SERVER: 80.134.211.28#53(80.134.211.28)
;; WHEN: Sun Dec 03 08:14:25 CET 2017
;; MSG SIZE rcvd: 50
and finally the challenge fails.
Anything that I am missing ?
from acme-dns.
You will need to make acme-dns the authoritative name server for eknori.blogsite.org
in order to make DNS requests go to the correct server. This is done by adding NS
record to blogsite.org DNS zone.
Then you should create a CNAME
record for _acme-challenge.eknori.spdns.org
pointing to the fulldomain
returned by acme-dns registration. After this, when Let's Encrypt sends DNS request for _acme-challenge.eknori.spdns.org
it will follow the CNAME to fulldomain
, of which acme-dns will be the authoritative DNS server for. So the TXT
record request will be resolved by acme-dns.
from acme-dns.
Related Issues (20)
- Register endpoint with configurable subdomain HOT 3
- CAA issues when higher level domain has a CAA HOT 2
- Add `server_url` to JSON storage file HOT 1
- nxdomain responses include huge timeouts HOT 2
- Is it possible to add support for Dynamic DNS subdomains
- Add support for PROXY protocol
- Please accept the PR for making registration endpoint configurable HOT 4
- Not able to generate cert for itself, no TXT record created
- Issue with Certificate Renewal from Let's Encrypt
- Build failed, error in sqlite3 dependency
- Is this project still active? HOT 4
- Acme-Dns Server Failing HOT 1
- TXT record returns two values - doesn't seem that should be possible HOT 4
- How do you bootstrap when you have a split-DNS? HOT 5
- Should /health return a result? HOT 1
- Unable to obtain the corresponding TXT record through _acme-challenge.example.tld HOT 3
- Unable to use on ARM64
- [Question] What is the `https://github.com/acme-dns/acme-dns` repo for? HOT 1
- acme-dns.io timing out for some of the sub domains HOT 1
- NOT AN ISSUE! is it possible to split the services on two servers? (one server for HTTPS and another for DNS) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from acme-dns.