Ilmaisen HTTPS -sertifikaatin käyttöönotto Azure App Servicessä

Joonas Westlin | 10.02.2020
Lukuaika 2 min

Microsoft on lopultakin luonut ilmaisen vaihtoehdon HTTPS -sertifikaateille Azure App Servicessä, joka on täysin heidän hoitamansa. Ignite 2019:ssä julkistettiin kyky ottaa HTTPS käyttöön omille domaineille ilmaiseksi Azure App Servicessä!

Miten tämä eroaa muista vaihtoehdoista

Tämä kyvykkyys eroaa olemassa olevista vaihtoehdoista HTTPS:lle siinä, että siitä puuttuu joitain ominaisuuksia. Azuresta saa myös ostettua App Service -sertifikaatteja, joissa on enemmän ominaisuuksia kuin tässä ilmaisessa versiossa, mutta ne maksavat tietysti.

Toinen vaihtoehto on Let’s Encrypt, jota oma henkilökohtainen blogini käyttää. Let’s Encryptin integraatio Azuressa ei kuitenkaan ole kovin hyvä. Se on hieman himmelin oloinen ja voit vain toivoa, että kaikki komponentit toimivat joka kerta kun sertifikaatti uusitaan. Omassa blogissani on tapahtunut jo useaan kertaan niin, että uusiminen ei ole syystä tai toisesta toiminut. Tälläisen Microsoftin hallitseman sertifikaatin käytössä on siis hyvät puolensa.

Mitä ne puuttuvat ominaisuudet tässä siis ovat?

  • Ei wildcardeja
  • Ei ylätason domaineja
  • Sertifikaattia ei voi exportata
  • Voi ottaa käyttöön vain jos domain on jo lisätty A / CNAME -tietueella (ei TXT -tietueella, eli ei live-migraatioita)

Tämä kyvykkyys on previewssä, joten jotkin näistä rajoituksista saatetaan poistaa vielä. Erityisesti haluaisin nähdä tuen ylätason domaineille. En voi käyttää näitä sertifikaatteja blogissani joka on ylätason domainissa. Monet sovellukset mitä rakennamme asiakkaille ovat alidomaineissa, joten niihin tämä voisi toimia hyvin.

Ilmaisen sertifikaatin käyttöönotto

Tämän kyvykkyyden testaamiseksi yritin ensin ottaa sen käyttöön olemassa olevassa App Servicessäni. Siinä oli jo oma domain määritettynä, sekä vanhentunut Let’s Encrypt -sertifikaatti. Uusiminen oli jotenkin hajonnut, kun siirsin sovelluksen toiseen tilaukseen.

Poistin Let’s Encrypt -extensionin, poistin olemassa olevan TLS/SSL -bindauksen domainista, ja menin lisäämään uutta sertifikaattia Create App Service Managed Certificate -napin kautta (TLS/SSL settings -> Private Key Certificates).

Mutta se ei toiminut 🙁

Trying to add to existing leads to 504 errors

Yritin samaa myös uudessa App Servicessä, mutta sain saman virheen:

Again, failed with 504 timeout errors

API palautti jostain syystä 504 Gateway Timeout -virheitä. Lähetin tukitiketin, mutta kuulin Twitterissä, että ongelma tullaan korjaamaan saman päivän aikana 🙂

Joten, katsotaan askeleet joilla tälläinen sertifikaatti lisätään onnistuneesti:

Find the Create App Service Managed Certificate button in TLS/SSL settings

Prosessi on aika helppo. Valitse domain ja paina Create:

Domain selected, Create button shown under it

Homma on valmis, sertifikaatti on voimassa 6 kuukautta:

Successfully created certificate with validity time of 6 months

No, melkein valmis. TLS/SSL binding pitää vielä lisätä:

Adding TLS binding connecting the custom domain name to the newly added certificate

Nyt kaikki on valmista! Microsoft uusii sertifikaatin taustalla automaattisesti. Tässä on Chromen näyttämä sertifikaattipolku:

Certification path showing the certificate and the GeoTrust intermediary and DigiCert root certficates above it

Eli sertifikaatit tulevat DigiCertiltä taustalla.

Tämä on ehdottomasti kyvykkyys, jota tulemme käyttämään projekteissa myöhemmin. Loistava askel Internetin turvallisuudelle myös! 👏