Liigu peamise sisu juurde

SSL-i installimine VPS-ile ilma katkestuseta

· 5 min lugemine
Customer Care Engineer

Avaldatud 9. novembril 2026

SSL-i installimine VPS-ile ilma katkestuseta

SSL-i turvaliseks installimiseks VPS-ile kontrolli esmalt, kas domeen suunab VPS-ile, pordid 80 ja 443 on kättesaadavad ning veebiserver pakub juba õiget saiti. SSL-i installimine on tavaliselt kiire. Probleeme tekitavad peaaegu alati DNS, tulemüüri reeglid või ootamatusse kohta suunav virtuaalhosti konfiguratsioon.

Kehtiv sertifikaat krüptib külastaja ja sinu rakenduse vahelise liikluse. Samuti kuvab see brauseris tabaluku, kaitseb sisselogimisseansse ja maksevorme ning väldib hoiatuslehte, mis peletab kliendid eemale enne, kui sinu veebisait jõuab üldse tööle hakata. E-poe, SaaS-i töölaua, agentuuri kliendisaidi või ettevõtte postkastide portaali jaoks on see tootmiskeskkonna elementaarne hügieen.

Enne SSL-i installimist VPS-ile kontrolli neid põhitõdesid​

Alusta DNS-kirje kontrollimisest. Sinu domeeni A-kirje peab lahenema VPS-i avalikuks IPv4-aadressiks. Kui kasutad IPv6-t, peab AAAA-kirje samuti viitama samale serverile. Ununenud AAAA-kirje on väike klassikaline viga: osa külastajaid jõuab uude serverisse, teised aga vanasse ja näevad sertifikaadi mittevastavuse teadet.

Seejärel veendu, et sissetulevad TCP-pordid 80 ja 443 oleksid avatud mõlemas olulises kohas: VPS-i tulemüüris ja teenusepakkuja tulemüüris. Certboti tavaline HTTP-valideerimine vajab, et port 80 oleks ajutiselt või püsivalt kättesaadav. Sinu veebiserver peab sellel pordil domeeni päringutele vastama.

Enne muudatuste tegemist selgita välja ka veebiserver ja operatsioonisüsteem. Allolevad käsud eeldavad Ubuntu või Debianit koos Nginxi või Apache'iga. Sama sertifikaadiga seotud põhimõtted kehtivad ka AlmaLinuxi, Rocky Linuxi ja muude distributsioonide puhul, kuid pakettide nimed ja teenuste käsud võivad erineda.

Tee kõigepealt veebiserveri konfiguratsioonist varukoopia. VPS-i hetktõmmis või `/etc/nginx/` või `/etc/apache2/` varukoopia annab sulle selge taastepunkti. See pole midagi erakordset, vaid lihtsalt hea haldustava. Sinu tulevane mina tänab sind kell 2 öösel.

Vali sobiv sertifikaadi hankimise viis​

Enamiku veebisaitide jaoks on tasuta Let's Encrypti sertifikaat mõistlik valik. See pakub sama transpordikihi krüptimist mis kommertssertifikaadid ning sobib hästi tavaliste veebisaitide, API-de ja juhtpaneelide jaoks. Sertifikaat kehtib 90 päeva, seega on automaatne uuendamine installimise osa, mitte valikuline lisavõimalus.

Tasuline sertifikaat võib sobida juhul, kui sinu organisatsioon vajab kindlat valideerimistaset, garantiitingimusi, konkreetset sertifitseerimiskeskust või hallatud hankemenetlust. Installimistoimingud on veidi teistsugused, sest genereerid sertifikaaditaotluse, saad väljastatud failid ja installid sertifikaadiahela käsitsi.

Kui sinu rakendus töötab Cloudflare'i, koormusjaoturi või mõne muu pöördpuhverserveri taga, otsusta, kus TLS-i lõpetamine toimub. Sul võib olla vaja üht sertifikaati puhverserveris ja teist puhverserveri ning VPS-i vahel. Ära eelda, et oranž pilveikoon või koormusjaotur kaotab vajaduse lähtepunkti krüptimise järele. See sõltub turvarežiimist, kuid tootmiskeskkonna jaoks on otspunktist otspunktini krüptimine tavaliselt õige lahendus.

Let's Encrypti sertifikaadi installimine Certbotiga​

Ubuntus või Debianis värskenda paketiteavet ja installi Certbot koos oma veebiserveri pistikprogrammiga. Nginxi jaoks kasuta:

```bash sudo apt update sudo apt install certbot python3-certbot-nginx ```

Apache jaoks installi selle asemel Apache'i pistikprogramm:

```bash sudo apt update sudo apt install certbot python3-certbot-apache ```

Enne Certboti käivitamist testi veebiserveri konfiguratsiooni. Nginxi puhul:

```bash sudo nginx -t ```

Apache puhul:

```bash sudo apachectl configtest ```

Paranda enne jätkamist kõik teatatud vead. Sertifikaaditaotlus võib õnnestuda, kuid uuesti laadimine ebaõnnestuda; sel juhul jääb sertifikaat kettale, kuid pole külastajate jaoks aktiivne. Logid räägivad nüüd sama lugu, nii et loe neid enne, kui lisad veel ühe muutuja.

Nginxi saidi puhul taotle sertifikaat ja luba Certbotil serveriplokki uuendada:

```bash sudo certbot --nginx -d example.com -d www.example.com ```

Apache'i puhul käivita:

```bash sudo certbot --apache -d example.com -d www.example.com ```

Asenda `example.com` oma tegeliku domeeniga. Lisa `www` ainult siis, kui see on DNS-is olemas ja veebiserveris konfigureeritud. Küsimustele vastates sisesta toimiv e-posti aadress, nõustu tingimustega ja vali ümbersuunamise valik, kui soovid, et kogu HTTP-liiklus suunataks HTTPS-i. Enamasti on ümbersuunamine õige valik. See takistab külastajatel jõudmast sama lehe krüptimata versioonile.

Certbot hangib sertifikaadi, lisab teed serveri konfiguratsiooni ja laadib vastava teenuse uuesti. Olemasolevad HTTP-päringud võivad tavapäraselt lõpule jõuda ning tavaline uuesti laadimine ei põhjusta enamasti märkimisväärset katkestust. Kui sinu rakendusel on keerukas puhverserveri seadistus või kohandatud ümbersuunamisreeglid, tee seda siiski rahulikumal ajal.

Kommerts-SSL-sertifikaadi käsitsi installimine​

Kui ostsid sertifikaadi, loo VPS-is privaatvõti ja sertifikaaditaotlus. Hoia privaatvõtit serveris ning ära saada seda kunagi e-postiga ega lisa tugipiletile.

```bash sudo openssl req -new -newkey rsa:2048 -nodes \ -keyout /etc/ssl/private/example.com.key \ -out /etc/ssl/certs/example.com.csr ```

Sertifikaadipakkuja väljastab serverisertifikaadi ja ühe või mitu vahesertifikaati. Vajaduse korral ühenda vahesertifikaadid täielikuks ahelaks vastavalt teenusepakkuja juhistele. Nginxi puhul vajab serveriplokk üldjuhul järgmisi direktiive:

```nginx listen 443 ssl; server_name example.com www.example.com; ssl_certificate /etc/ssl/certs/example.com.fullchain.pem; ssl_certificate_key /etc/ssl/private/example.com.key; ```

Apache kasutab HTTPS-i virtuaalhostis samaväärseid direktiive `SSLCertificateFile` ja `SSLCertificateKeyFile`. Täpne failipaigutus võib distributsiooni ja juhtpaneeli järgi erineda, seega ära kopeeri failiteid pimesi. Kontrolli ka omanikku ja õigusi. Tavaliselt peaks privaatvõtit saama lugeda ainult root ning vajaduse korral teenusekonto.

Testi konfiguratsiooni ja võimaluse korral tee taaskäivitamise asemel uuesti laadimine:

```bash sudo nginx -t && sudo systemctl reload nginx ```

Uuesti laadimisel säilivad aktiivsed tööprotsessid ja samal ajal rakendatakse uus konfiguratsioon. Kui võimalik, on see rahulik ja ohutu valik.

Kontrolli sertifikaati ja ümbersuunamise toimimist​

Ava oma domeen privaatses brauseriaknas, kasutades `https://`. Kontrolli, kas kuvatav domeen vastab sertifikaadile ja brauser kinnitab, et ühendus on turvaline. Seejärel testi HTTP-versiooni ja veendu, et see suunatakse HTTPS-i.

VPS-is või mõnes muus terminalis saad vastuse päiseid kontrollida:

```bash curl -I http://example.com curl -I https://example.com ```

HTTP-päring peaks tagastama ümbersuunamise HTTPS-aadressile koodiga 301 või 308. HTTPS-päring peaks tagastama oodatud olekukoodi, sageli 200, 301 või 302, olenevalt sinu rakendusest.

Kontrolli ka sertifikaati otse:

```bash sudo certbot certificates ```

Kommertssertifikaadi puhul kasuta aegumisaja ja väljastaja andmete kontrollimiseks OpenSSL-i:

```bash openssl x509 -in /etc/ssl/certs/example.com.fullchain.pem -noout -dates -issuer -subject ```

Ära piirdu tabaluku vaatamisega. Segasisu võib lehti siiski mõjutada, kui skriptid, pildid, fondid või API-päringud laaditakse alla `http://` URL-ide kaudu. Brauseri arendajatööriistad kuvavad need hoiatused. Uuenda kõvakodeeritud URL-e, rakenduse keskkonnamuutujaid ning CDN-i või varade seadeid.

Muuda uuendamine jälgitavaks toiminguks​

Let's Encrypti sertifikaate tuleb uuendada enne 90 päeva möödumist. Tänapäevased Certboti paketid paigaldavad tavaliselt systemd taimeri automaatselt, kuid kontrolli seda, selle asemel et usaldada vaikivat serverit.

```bash sudo systemctl list-timers | grep certbot sudo certbot renew --dry-run ```

Sisuline test on proovikäivitus. See kinnitab, et VPS suudab tulevikus valideerimise lõpule viia ja pärast uuendamist veebiserveri uuesti laadida. Kui see ebaõnnestub, lahenda probleem ajal, mil olemasolev sertifikaat veel kehtib.

Kommertssertifikaatide puhul märgi aegumiskuupäev kalendrisse juba varakult. Uuendamine on sageli käsitsi, välja arvatud juhul, kui sertifikaadipakkuja või haldusplatvorm toetab automatiseerimist. Võimaluse korral lisa sertifikaadi aegumise jälgimine. Märkamatult aeguv kehtiv sertifikaat põhjustab ikkagi katkestuse, ainult et brauseri veateade näeb väga ametlik välja.

Kodu.cloudis võib hallatud operatiivtugi ja seire seda tüüpi korduvat riski vähendada, eriti kui VPS-is majutatakse mitut kliendidomeeni või tootmisteenust. Eesmärk on lihtne: sertifikaadid uuenevad märkamatult ja sinu meeskond ei pea neid iga kvartal meeles pidama.

Levinud probleemid pärast SSL-i installimist​

Sertifikaadi mittevastavus tähendab tavaliselt, et päring jõuab vale VPS-ini, vaikimisi kasutatakse valet virtuaalhosti või sertifikaaditaotlusest jäi välja hostinimi, näiteks `www`. Kontrolli esmalt DNS-i ja seejärel veebiserveris konfigureeritud serverinimesid.

Valideerimise ebaõnnestumine viitab tavaliselt pordile 80, DNS-i levikule või puhverserveri konfiguratsioonile. Kui domeen kasutab CDN-i, veendu, et selle DNS-kirjed ja puhverserveri režiim võimaldaksid sinu valitud valideerimisviisi. DNS-i kaudu valideerimine on metamärk-sertifikaatide puhul sageli parem, kuid selleks on vaja DNS-i API-juurdepääsu või DNS-kirje käsitsi lisamist.

Kui veebisait suunatakse HTTPS-i jõustamise järel lõputusse ümbersuunamisahelasse, otsi vastuolulisi ümbersuunamisi rakendusest, Nginxist või Apache'ist ning kõigist pöördpuhverserveritest. Puhverserveri taga olevad rakendused võivad vajada usaldatud päiseedastuse seadet, et tuvastada algne päring HTTPS-päringuna. Kui see juhtub, pole DNS-i olukord just kõige ilusam, kuid probleem on kontrolli all, kui ümbersuunamiste eest vastutab selgelt üks koht.

Lisa sertifikaat, veebiserveri konfiguratsioon ja uuendamise kontrollid samasse tavapärasesse haldusrutiini. Õigesti installitud SSL-sertifikaat peaks muutuma igavaks taristuks – olemasolevaks, kontrollituks ja tähelepanu mitte nõudvaks.

Andres Saar, klienditoe insener