AWS oferuje możliwość bezpłatnego uzyskania certyfikatów, które mogą być użyte w ramach świadczonych przez nich usług. Jest to rozwiązanie szalenie wygodne i łatwe w użyciu w prostych przypadkach wystawiania certyfikatów na domenę główną. W sytuacji, gdy chcemy wystawić certyfikat na wiele domen lub na subdomenę wykonanie tego zadania przez konsolę administracyjną rodzi pewien problem… maile z linkiem do potwierdzenia własności domeny zostaną wysłane na adresy w poszczególnych subdomenach!
Problemu tego nie udało mi się rozwiązać przez konsolę AWS, natomiast dość łatwo jest uzyskać zadowalający efekt przy użyciu PowerShella. Prezentowany poniżej skrypt używa AWS Tools for PowerShell aby requestować o certyfikat dla poszczególnych domen wymienionych w zmiennej $domains przy użyciu domeny $validationDomain na cele wysyłania maili potwierdzających własność domeny.
Tym sposobem możemy określić dowolną ilość i zagnieżdżenie subdomen w ramach struktury oraz nie musimy się martwić o maile – zostaną one dostarczone na adresy administracyjne w domenie głównej. A oto wspomniany skrypt:
$region = "us-east-1" $validationDomain = "luktom.net" $domains = @( "subdomain1.luktom.net", "subdomain2.luktom.net", "*.subdomain1.luktom.net", "*.subdomain2.luktom.net" ) $validationOptions = [System.Collections.ArrayList] @() $domains | foreach { $options = @{ "DomainName" = $_ "ValidationDomain" = $validationDomain } $validationOptions.Add($options) } New-ACMCertificate -DomainName $domains[0] ` -SubjectAlternativeName $domains[1..$domains.Length] ` -DomainValidationOption $validationOptions ` -Region $region
I gotowe :)
Dodaj komentarz