E pili ana i ka automating i ka hoʻopuka ʻana o SSL
Pono pinepine mākou e hana me nā palapala SSL. E hoʻomanaʻo kākou i ke kaʻina hana o ka hana ʻana a me ka hoʻokomo ʻana i kahi palapala hōʻoia (ma ka hihia maʻamau no ka hapa nui).
E huli i kahi mea hoʻolako (kahi pūnaewele kahi e kūʻai ai mākou i SSL).
Hana CSR.
E hoʻouna i ka mea hoʻolako.
E hōʻoia i ke kuleana o ka waihona.
E kiʻi i palapala.
E hoʻohuli i ka palapala hōʻoia i ke ʻano makemake (koho). No ka laʻana, mai pem a PKCS #12.
E hoʻouka i ka palapala hōʻoia ma ka pūnaewele pūnaewele.
ʻAno wikiwiki, maʻalahi a maopopo. He kūpono kēia koho inā loaʻa iā mākou ka nui o nā papahana he ʻumi. He aha inā ʻoi aku ka nui o lākou, a ʻekolu mau kaiapuni? Kūlana hoʻomohala - hana - hana. I kēia hihia, pono e noʻonoʻo e pili ana i ka automating i kēia kaʻina hana. Manaʻo wau e hele hohonu i ka pilikia a loaʻa kahi hopena e hōʻemi hou ai i ka manawa i hoʻohana ʻia ma ka hana ʻana a me ka mālama ʻana i nā palapala hōʻoia. Aia i loko o ka ʻatikala kahi loiloi o ka pilikia a me kahi alakaʻi liʻiliʻi no ka hana hou ʻana.
E hana au i kahi hoʻopaʻa ma mua: ʻo ka ʻoihana nui o kā mākou hui ʻo .net, a, no laila, IIS a me nā mea pili i ka screw. No laila, e wehewehe pū ʻia ka mea kūʻai aku ACME a me nā hana a pau e pili ana i ka hoʻohana ʻana i nā puka makani.
No wai ka mea pili a me kekahi mau ʻikepili hope
ʻO ka hui K i pani ʻia e ka mea kākau. HKH (no ka laʻana): company.tld
ʻO Project X kekahi o kā mākou papahana, kahi aʻu i hiki ai i ka hopena e pono mākou e neʻe i ka nui o ka mālama manawa i ka wā e hana ai me nā palapala hōʻoia. ʻEhā kaiapuni o kēia papahana: dev, hoʻāʻo, hoʻokūkū a hana. Aia ʻo Dev a me ka hoʻāʻo ma kā mākou ʻaoʻao, ʻo ke kahua a me ka hana ʻana ma ka ʻaoʻao o ka mea kūʻai aku.
ʻO kahi hiʻohiʻona o ka papahana ʻo ia ka nui o nā modula i loaʻa ma ke ʻano he subdomains.
No ka hana ʻana, hoʻohana ʻia kahi palapala wildcard i kūʻai ʻia, ʻaʻohe nīnau ma aneʻi. Akā, uhi wale ia i ka pae mua o ka subdomain. No laila, inā he palapala hōʻoia no *.projectX.tld, a laila e hana ia no staging.projectX.tld, akā ʻaʻole no ka module1.staging.projectX.tld. ʻAʻole au makemake e kūʻai i kahi kaʻawale.
A aia kēia ma ka laʻana o hoʻokahi papahana o hoʻokahi hui. A ʻo ka papahana, ʻoiaʻiʻo, ʻaʻole wale ia.
ʻO nā kumu maʻamau no ka hoʻoponopono ʻana i kēia pilikia e like me kēia:
E hoʻomaʻamaʻa i ke kaʻina hana o ka hoʻopuka a mālama ʻana i ka SSL no nā pono kūloko o nā papahana a me ka hui holoʻokoʻa.
Ke kikowaena kikowaena o nā moʻolelo palapala, e hoʻopau i ka pilikia o ka hōʻoia ʻana i ka domain me ka hoʻohana ʻana i ka DNS a me ka hoʻololi hou ʻana, a hoʻoponopono pū i ka pilikia o ka hilinaʻi o ka mea kūʻai aku. Eia nō naʻe, ʻoi aku ka hilinaʻi o CNAME ma ke kikowaena o ka hui hoa / hoʻokō ma mua o kahi kumuwaiwai ʻekolu.
ʻAe, i ka hopena, i kēia hihia, ʻoi aku ka maikaʻi o ka ʻōlelo "ʻoi aku ka maikaʻi ma mua o ka loaʻa ʻole".
Ke koho ʻana i kahi mea hoʻolako SSL a me nā ʻanuʻu hoʻomākaukau
No nā koho i loaʻa no nā palapala SSL manuahi, ua noʻonoʻo ʻia ka cloudflare a me ka letsencrypt. Hoʻokipa ʻia ka DNS no kēia (a me kekahi mau papahana ʻē aʻe) e cloudflare, akā ʻaʻole wau makemake i ka hoʻohana ʻana i kā lākou palapala hōʻoia. No laila, ua hoʻoholo ʻia e hoʻohana i ka letsencrypt.
No ka hana ʻana i kahi palapala SSL wildcard, pono ʻoe e hōʻoia i ke kuleana o ka domain. Aia kēia kaʻina hana i ka hana ʻana i kekahi moʻolelo DNS (TXT a i ʻole CNAME), me kāna hōʻoia hope i ka wā e hoʻopuka ai i kahi palapala. Loaʻa iā Linux kahi mea hoʻohana − kelepona, hiki iā ʻoe ke hoʻokaʻawale i kēia kaʻina hana (a i ʻole no kekahi mau mea hoʻolako DNS). No ka Windows like mai loaa a hoao nā koho no nā mea kūʻai aku ʻo ACME aʻu i noho ai WinACME.
A ua hana ʻia ka moʻolelo no ka domain, e neʻe kākou i ka hana ʻana i kahi palapala:
Makemake mākou i ka hopena hope loa, ʻo ia hoʻi, nā koho i loaʻa no ka hōʻoia ʻana i ka kuleana o ka domain no ka hoʻopuka ʻana i kahi palapala wildcard:
Ke hana lima ʻana i nā moʻolelo DNS (ʻaʻole kākoʻo ʻia ka hoʻonui ʻokoʻa)
Ke hana nei i nā moʻolelo DNS me ka hoʻohana ʻana i ka server acme-dns (no nā kikoʻī hou aku, ʻike maanei.
Ke hana nei i nā moʻolelo DNS me ka hoʻohana ʻana i kāu palapala ponoʻī (e like me ka plugin cloudflare no certbot).
I ka nānā mua ʻana, kūpono ke kolu o ka helu, akā inā ʻaʻole kākoʻo ka mea hoʻolako DNS i kēia hana? A pono mākou i kahi hihia maʻamau. A ʻo ka hihia maʻamau ʻo CNAME moʻolelo, kākoʻo nā mea a pau iā lākou. No laila, kū mākou ma ka helu 2, a hele e hoʻonohonoho i kā mākou kikowaena ACME-DNS.
ʻO ka hoʻonohonoho kikowaena ACME-DNS a me ke kaʻina hana hoʻopuka palapala
No ka laʻana, ua hana au i ka domain 2nd.pp.ua, a e hoʻohana wau ia i ka wā e hiki mai ana.
Koi koi ʻO ka hana kūpono o ka kikowaena ka hana ʻana i nā moʻolelo NS a me A no kāna kikowaena. A ʻo ka manawa leʻaleʻa mua aʻu i hālāwai ai, ʻo ia ka cloudflare (ma ka liʻiliʻi ma ke ʻano manuahi) ʻaʻole ʻae iā ʻoe e hana i kahi moʻolelo NS a me A no ka mea hoʻokipa like. ʻAʻole kēia he pilikia, akā hiki ke hoʻopaʻa ʻia. Ua pane mai ke kākoʻo ʻaʻole ʻae kā lākou papa e hana i kēia. ʻAʻohe mea nui, e hana kāua i ʻelua mau helu:
acmens.2nd.pp.ua. IN A 35.237.128.147
acme.2nd.pp.ua. IN NS acmens.2nd.pp.ua.
I kēia pae, pono mākou e hoʻoholo i ka mea hoʻokipa acmens.2nd.pp.ua.
$ ping acmens.2nd.pp.ua
PING acmens.2nd.pp.ua (35.237.128.147) 56(84) bytes of data
Akā acme.2nd.pp.ua ʻaʻole e hoʻoholo, ʻoiai ʻaʻole e holo ana ka server DNS e lawelawe nei.
Ua hana ʻia nā moʻolelo, e neʻe kākou i ka hoʻonohonoho ʻana a hoʻomaka i ka server ACME-DNS. E ola wau ma ka ubuntu server ma ka loea ipu, akā hiki iā ʻoe ke holo i kēlā me kēia wahi he golang. Maikaʻi nō hoʻi ʻo Windows, akā makemake au i kahi kikowaena Linux.
E hana i nā papa kuhikuhi pono a me nā faila:
$ mkdir config
$ mkdir data
$ touch config/config.cfg
E hoʻohana i ka vim me kāu mea hoʻoponopono kikokikona punahele a hoʻopili i ka laʻana i loko o config.cfg eaiaeoaooo.
No ka hana kūleʻa, lawa ia e hoʻoponopono i nā ʻāpana ākea a me nā api:
I kēia pae, pono e hoʻomaka ka mea hoʻokipa e hoʻoholo acme.2nd.pp.ua, a ʻike ʻia 404 ma 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
Inā ʻaʻole ʻike ʻia kēia - docker logs -f <container_name> e kōkua, maikaʻi, hiki ke heluhelu ʻia nā lāʻau.
Hiki iā mākou ke hoʻomaka e hana i kahi palapala hōʻoia. E wehe i ka powershell ma ke ʻano he luna hoʻomalu a holo i ka winacme. Makemake mākou i ke koho balota:
Ke nīnau ʻia e pili ana i kahi loulou i ka server ACME-DNS, e hoʻokomo i ka URL o ka server i hana ʻia (https) ma ka pane. HKH o ke kikowaena acme-dns: https://acme.2nd.pp.ua
I ka pane ʻana, hoʻopuka ka mea kūʻai aku i kahi moʻolelo e pono e hoʻohui ʻia i ka server DNS i loaʻa (hoʻokahi kaʻina hana):
[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.
Hana mākou i ke komo pono, a e hōʻoia i ka hana pono ʻia:
Ua hōʻoia mākou ua hana mākou i ke komo ʻana i ka winacme, a hoʻomau i ke kaʻina hana o ka hana ʻana i kahi palapala:
Pehea e hoʻohana ai i ka certbot ma ke ʻano he mea kūʻai aku i wehewehe ʻia maanei.
Hoʻopau kēia i ke kaʻina hana o ka hana ʻana i kahi palapala, hiki iā ʻoe ke hoʻokomo iā ia ma kahi kikowaena pūnaewele a hoʻohana. Inā, i ka wā e hana ai i kahi palapala hōʻoia, hana pū ʻoe i kahi hana i ka mea hoʻonohonoho, a laila i ka wā e hiki mai ana ke kaʻina hana o ka hoʻonui ʻana i ka palapala hōʻoia e hele maʻalahi.