ααΆααΉαααΆααααΎαααααΌαααααΎααΆαααΆαα½ααα·ααααΆαααααα SSL α α αΌαααΎαα αα αΆαααααΎαααΆαααααΆααααααΎα αα·αααα‘αΎααα·ααααΆαααααα (αααα»αααααΈααΌαα αααααΆααααΆαα αααΎα)α
- αααααααα’ααααααααααααΆ (ααα ααααααααααΎαα’αΆα αα·α SSL) α
- αααααΎα CSR α
- ααααΎααΆαα α’ααααααααααααΆααααα’αααα
- αααααααααΆαααααααα·αααα·αααα
- ααα½αααΆααα·ααααΆααααααα
- ααααααααα·ααααΆαααααααα ααΆαααααααααααααΌαααΆα (ααΆαααααΎα)α α§ααΆα ααα ααΈ pem ααα PKCS #12α
- ααα‘αΎααα·ααααΆαααααααα ααΎαααΆαααΈαααααα αααααα
ααΆααααααΏα αα·ααααα»αααααΆα αα·αα’αΆα αααααΆαα αααααΎααααααΊααααααααΆααααααα·αααΎααΎαααΆαααααααα’αα·ααααΆα ααα½ααααα α α»αβααΎβααΆαβα αααΎαβαααβα αΎαβααΆαβααα·ααααΆαβαααΆαβα αα βααΈ? αα»ααΆα dev - ααααΆααααΆα - ααα·αααααα αααα»αααααΈαααααΆααΆαααααααα·αα’αααΈααΆαααααΎα±ααααααΎαααΆαααααααααααααααααααα·α αααα»αααααΎα±ααααααααααα±αααααΈααααα ααααα·α α’αααΈαααα αΆ αα·αααααααααααααααααΆααααααΉαααΆααααααααααααααΆαααα αααΆαααΎααΆααααααΎα αα·αααααΆααα·ααααΆααααααα α’αααααααΉαααΆαααΆααα·ααΆαα’αααΈαααα αΆ αα·αααΆαααααΆαααΌα αα½αα ααααααΆααααααααα
α’αα»ααααΆαα±αααααα»αααααΎααΆαααααα»αααΆαα»αα α―ααααα αααααααααααα»αα αα»αααααααΎαααΊ .net α αΎαααααα ααΆα IIS αα·αααα·ααααααααΆααααααΉα Windows ααααααααα ααΌα αααα α’αα·αα·αα ACME αα·ααααααααΆαααΆααα’αααααααΆααααΆααααΉαααααΌαααΆααα·αααααΆααΈααααααααααΆαααααΎααααΆααααΈαααΌαααααα
ααΎαααααΆαααααααα’αααααΆ αα·ααα·ααααααααααΌααααα
αααα»αα αα»α K ααααΆααααα’ααααα·ααααα URL (α§ααΆα ααα): company.tld
αααααα X ααΊααΆαααααααα½ααααα»αα ααααααααααααααααΎα ααααααααααααα»αααααΎααΆαααααααα»αααΆαααααα·ααααΆαααΆ ααΎααα ααααααΌαααααααα ααααΆαααααααααααααΆα’αα·ααααΆαα αααααααΎααΆαααΆαα½ααα·ααααΆααααααα αααααααααααΆαααα·ααααΆαα ααα½ααα½αα dev, ααΆαααααΎααααα, ααααΆααααΆα αα·αααΆαααα·αα Dev and test ααΊαα ααΆαααΎα ααααΆααααΆα αα·αααΆαααα·αααΊαα ααΆαα’αα·αα·ααα
αααααααα·αααααααααααααΊααΆααΆααΆααααΌαα»ααα½αα ααα½ααααααα’αΆα ααααΎααΆαααΆαααααα
αααααΊααΎαααΆαααΌαααΆαααΌα ααΆααααααα
Dev
ααΆαααααΎααααα
ααααΆααααΆα
ααα·ααααα
projectX.dev.company.tld
projectX.test.company.tld
staging.projectX.tld
projectX.tld
module1.projectX.dev.company.tld
module1.projectX.test.company.tld
module1.staging.projectX.tld
module1.projectX.tld
module2.projectX.dev.company.tld
module2.projectX.test.company.tld
module2.staging.projectX.tld
module2.projectX.tld
...
...
...
...
moduleN.projectX.dev.company.tld
moduleN.projectX.test.company.tld
moduleN.staging.projectX.tld
moduleN.projectX.tld
αααααΆααααΆαααα·α αα·ααααΆααααααα’αααααααα½ααααααΆααα·αααααΌαααΆαααααΎ αα·αααΆααααα½αααΎαα‘αΎααα ααΈαααααα ααα»ααααααΆααααααααααααααααα·αααααΌααααααααααα»αααααα ααΌα ααααα αΎα ααααα·αααΎααΆααα·ααααΆαααααααααααΆαα *.projectX.tld αααααΆααΉαααααΎαααΆααααααΆαα staging.projectX.tld ααα»αααααα·αααααααααΆαα module1.staging.projectX.tld ααα ααα»αααααααα»ααα·αα αααα·αααΆα ααααα‘ααααα
α αΎααααααΊααα’αααα ααΎα§ααΆα ααααααααααααα½ααααααααα»αα αα»ααααα½αααα»αααααα α αΎαααΆααΆααα·αααΆααααΆαααααααα αααΎαααΆααα½αα
α ααα»ααααΌαα αααααΆααααα»ααααααααααααΆαααα»αααΆααααααααΆααααα αΆαααααΎααα ααΌα αααα
- ααααΈαααα
Google ααΆαααααΎα±ααααΆααααααααααααααα»ααααΆαα’αα·ααααΆαααα·ααααΆαααααα SSL . ααΆαα½αααΉααααα·ααΆαααΆααα’ααα - αα½αααααα½ααααααααΎαααΆαααααΆαα αα αα·αααααΆα SSL αααααΆαααααααΌαααΆααααααααα»ααααααααααα αα·ααααα»αα αα»αααΆααααΌαα
- ααΆααααα»ααααααΆααααααααααααΆαα·ααααΆααααααααααααααααΆααααα αΆααααΆααααααααααΆααααααααααααααααααααΎ DNS αα·αααΆααααααααααααααααααααα·ααΆαααααααααΆαα α αΎααααααααααΆααααα αΆααααΆαααΏαα»αα α·αααααααα’αα·αα·αααααααα ααααααΆαααΆααααα CNAME αα ααΎαααΆαααΈαααααααααααΌ/αααα»αα αα»ααααααααΊαα½αα±αααα»αα α·αααααΆααα ααΎααααΆαααΆααΈααΈααΈα
- ααΆααΆααααααΎαααΆαα, ααΈαααα»α, αααα»αααααΈαααααααΆ "ααΆααΆααΆααααααΎααααα»αααΆαααΆαααΆααα·αααΆα" ααα₯αααα ααα
ααΆαααααΎαααΎαα’ααααααααααααΆ SSL αα·αααα αΆαααααα
αααα»αα
αααααααααΎααααααΆααααααΆαααα·ααααΆαααααα SSL α₯ααα·ααααα cloudflare αα·α letsencrypt ααααΌαααΆααα·α
αΆαααΆα DNS αααααΆααααΆαααα (αα·ααααααααα½αα
ααα½ααααααααα) ααααΌαααΆααααα ααααα cloudflare ααα»αααααααα»ααα·ααααααΆα’αααααΆααααααααΆαααααΎααααΆαααα·ααααΆαααααααααααα½αααααα ααΌα
ααααααΆααααΌαααΆααααααααα
α
α·αααααααΎ letsencrypt α
ααΎααααΈαααααΎααα·ααααΆαααααα SSL αα½α’αααααααα½α α’αααααααΌααααααΆαααααααα·αααα·αααα ααΈαα·αα·ααΈαααααΆαααααααααΉαααΆααααααΎααααααααααΆ DNS αα½αα
ααα½α (TXT α¬ CNAME) α αΎααααααΆαααααααααααααΆααααΆαα
αααα
αααα·ααααΆααααααα ααΈαα»α
ααΆαα§αααααααααΎααααΆαα -
α αΎααααααααααΆαααααΆαααααααααΌαααΆααααααΎαα‘αΎα α αΌααααααα ααΆααααααΎααα·ααααΆααααααα
ααΎαα αΆααα’αΆααααααααΎααΆαααααα·ααααΆαα α»αααααα αααααΊαααααΎααααααΆααααααΆααααΆααααααΆαααααααα·αααα·ααααααααΆααααΆαα αααα·ααααΆαααααααααα½αα
- αααααΎααααααααααΆ DNS ααααα (ααΆαα’αΆααααααααααααααααααααα·αα·αααααΌαααΆαααΆαααααα)
- ααΆααααααΎααααααααααΆ DNS αααααααΎαααΆαααΈααα acme-dns (α’αααα’αΆα
α’αΆαααααααα’αααΈ
αα ααΈααα . - ααΆααααααΎααααααααααΆ DNS αααααααΎααααααΈαααααΆαααααα½αααααα’ααα (αααααααα ααΉααααααα·ααΈαααα½α cloudflare αααααΆαα certbot)α
αα glance ααααΌα, α ααα»α ααΈααΈααΊαα·αααΆαααααα, ααα»ααααα α»ααααΆαααΆααΎα’αααααααα DNS αα·αααΆαααααα»αααΆαααα? ααα»ααααααΎαααααΌαααΆαααααΈααΌαα α α αΎαααααΈααΌαα ααΊαααααααααΆ CNAME α αΆααααΆααααΈααα»ααααααααααααΆααΆαααααα½αααα ααΌα ααααα αΎα ααΎαααααα α ααα»α ααΈ 2 α αΎαα αΌααα ααααααα ααΆαααααααααααΆαααΈααα ACME-DNS ααααααΎαα
ααΆαααα‘αΎααααΆαααΈααα ACME-DNS αα·αααααΎαααΆαα αααα·ααααΆαααααα
ααΆα§ααΆα ααα αααα»αααΆααααααΎα domain 2nd.pp.ua α αΎαααΉαααααΎααΆαα αααα’ααΆααα
acmens.2nd.pp.ua. IN A 35.237.128.147
acme.2nd.pp.ua. IN NS acmens.2nd.pp.ua.
αα
ααααΆααααΆααααααα
αΆααααααααααααΎααα½ααααααααααΆα acmens.2nd.pp.ua
.
$ ping acmens.2nd.pp.ua
PING acmens.2nd.pp.ua (35.237.128.147) 56(84) bytes of data
ααα»αααα acme.2nd.pp.ua
ααΆααΉααα·ααααααααΆααα αααααΆααααΆαααΈααα DNS ααααααααΎααΆαα·αααΆααααααΎαααΆααα
α‘αΎαα
αααααααααΆααααΌαααΆααααααΎαα‘αΎα ααΎααααααα
ααΆαααα‘αΎα αα·αααΎαααααΎαααΆααααΆαααΈααα ACME-DNS α ααΆααΉαααααα
ααΎαααΆαααΈααα ubuntu αααααααα»ααα
αααα»α
αααααΎαααα―αααΆα αα·αα―αααΆαα αΆαααΆα αα
$ mkdir config
$ mkdir data
$ touch config/config.cfg
αααααααΎ vim ααΆαα½ααααααα·ααΈαα·ααααα’ααααααααα’αααα
αΌαα
α·ααα α αΎααα·αααααΆααααααΌαα
αααα»α config.cfg
αααααΆααααααα·ααααα·ααΆααααααα ααΆαααααααααΆαααααα»αααΆααααααααΌααααααααΌαα αα·α apiα
[general]
listen = "0.0.0.0:53"
protocol = "both"
domain = "acme.2nd.pp.ua"
nsname = "acmens.2nd.pp.ua"
nsadmin = "admin.2nd.pp.ua"
records =
"acme.2nd.pp.ua. A 35.237.128.147",
"acme.2nd.pp.ua. NS acmens.2nd.pp.ua.", ]
...
[api]
...
tls = "letsencrypt"
β¦
ααααα ααααα·αααΎα ααααΆα ααΎαααΉααααααΎαα―αααΆα docker-compose αα αααα»ααααααΈααααΆααααα ααααα
version: '3.7'
services:
acmedns:
image: joohoi/acme-dns:latest
ports:
- "443:443"
- "53:53"
- "53:53/udp"
- "80:80"
volumes:
- ./config:/etc/acme-dns:ro
- ./data:/var/lib/acme-dns
αα½α ααΆααα α’αααα’αΆα ααααΎαααΆαααΆααΆαα
$ docker-compose up -d
αα
ααααΆααααΆααααααα
αΆαααααααα½αααα
αΆααααααΎααααααααΆα acme.2nd.pp.ua
α αΎα 404 ααα
α‘αΎα https://acme.2nd.pp.ua
$ ping acme.2nd.pp.ua
PING acme.2nd.pp.ua (35.237.128.147) 56(84) bytes of data.
$ curl https://acme.2nd.pp.ua
404 page not found
ααααα·αααΎααΆαα·αααα
α‘αΎα - docker logs -f <container_name>
ααΎααααΈαα½α ααααΆαααα’ αααααα ααα»α’αΆα
α’αΆαααΆαα
ααΎαα’αΆα α αΆααααααΎααααααΎααα·ααααΆααααααα ααΎα powershell ααΆα’αααααααααααα α αΎαααααΎαααΆα winacme α ααΎαα αΆααα’αΆααααααααΉαααΆαααααααααα
- M: αααααΎααα·ααααΆααααααααααΈ (αααααΎααααααα)
- 2: ααΆααααα αΌαααααα
- 2: [dns-01] αααααΎααααααααααΆαααααααααΆααααΆαα½α acme-dns (
https://github.com/joohoi/acme-dns ) - αα
ααααα½αα’αααΈαααααααΆαααα
ααΆαααααΆαααΈααα ACME-DNS ααΌααααα
αΌα URL αααααααΆαααΈααααααααΆααααααΎα (https) αα
αααα»αα
ααααΎαα URL αααααααΆαααΈααα acme-dnsα
https://acme.2nd.pp.ua
αα αααα»αααΆαααΎα α’αα·αα·ααα αααααααααααΆαααααααΌαααΆααααααααα αααΆαααΈααα DNS αααααΆαααααΆαα (ααΈαα·αα·ααΈαααααα)α
[INFO] Creating new acme-dns registration for domain 1nd.pp.ua
Domain: 1nd.pp.ua
Record: _acme-challenge.1nd.pp.ua
Type: CNAME
Content: c82a88a5-499f-464f-96e4-be7f606a3b47.acme.2nd.pp.ua.
Note: Some DNS control panels add the final dot automatically.
Only one is required.
ααΎααααααΎααααααααααΆα αΆαααΆα α α αΎαααααΌαααααΆααααΆααΆααααΌαααΆααααααΎαααααΉαααααΌαα
$ dig CNAME _acme-challenge.1nd.pp.ua +short
c82a88a5-499f-464f-96e4-be7f606a3b47.acme.2nd.pp.ua.
ααΎααααααΆααααΆααΎαααΆααααααΎαααΆαα»αααααααΌαααΆααα αααα»α winacme α αΎαααααααααΎαααΆααααααΎααα·ααααΆααααααα
ααααααααΎ certbot ααΆα’αα·αα·ααααααΌαααΆααα·αααααΆ
ααΆαααα ααααααΎαααΆααααααΎααα·ααααΆαααααα α’αααα’αΆα ααα‘αΎαααΆαα ααΎαααΆαααΈαααααα ααααα α αΎαααααΎααΆααΆαα ααααα·αααΎαα ααααααααΎααα·ααααΆαααααα α’ααααααααααΎααα·α αα ααΆααα αααα»ααααααα·ααΈαααααααα ααααα αααα’ααΆαα ααααΎαααΆααααααα·ααααΆααααααααΉαααΎαα‘αΎααααααααααααααααα·α
ααααα: www.habr.com