Krav
Denna guide använder Ubuntu 16.04 som operativsystem där webbservern körs. Samma steg kan dock användas för alla andra Ubuntu-versioner så länge det inte finns någon skillnad i inställningarna. Den här guiden förutsätter att användaren redan har en webbserver installerad och att den är Nginx. Som SSH-klient används Putty och som filredigerare Nano rekommenderas.
Lösning
- Webbservern som skapats på Droplets kan nås via SSH-protokoll. Ladda ner och installera Putty från dess officiella webbplats. Ansökan är helt gratis.
- Efter nedladdning av Putty, fortsätt och ladda ner Nano. Syftet med Putty är att komma åt Linux-konsolen för att skriva shell-kommandon, medan Nano används för att redigera interna filer som Nginx-standardfilen.
- Starta Putty och navigera till fliken Session.
- I fältet Värdnamn skriver du IP-adressen till DigitalOceans droppe där webbservern är installerad. IP-adressen till dropparna finns i https: // moln.digitalocean.com / droppar. Skriv 22 i portfältet.
- Efter att ha skickat in alla obligatoriska fält som visas ovan trycker du på okej för att tillämpa ändringarna och logga in på Droplet. När du loggar in på systemet kommer det att fråga användarnamnet och lösenordet för Droplet. Både användarnamn och lösenord skickas via e-post till det registrerade e-postmeddelandet i DigitalOcean när Droplet skapas.
- Den här guiden använder Certbot, ett verktyg från tredje part för att automatisera hela processen för att hämta och förnya de digitala certifikaten. Certbot har sin egen hemsida där kommandona som ska användas enkelt kan genereras. Enligt Certbot är de rätta kommandona för att installera Certbot på Ubuntu dessa. Först uppdaterar den paketinformation i det lokala förvaret, sedan installeras programvaruegenskaper gemensamt paket som ger några användbara skript vid hantering av personligt paket uppnår (PPA), sedan installeras certbot, sedan uppdateras det lokala förvaret igen, sedan installeras det slutligen python certbot nginx-paketet. Se till att alla dessa paket är installerade ordentligt innan du går vidare till nästa steg.
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa: certbot / certbot
$ sudo apt-get-uppdatering
$ sudo apt-get install python-certbot-nginx
- Navigera till webbplatsen från vilken domänen köptes. Den här guiden använder Porkbun som domänregistrator och lägg sedan till A-posten i domänen. Typ är en post, värden är tom om IP är associerad med rotdomänen, annars använd underdomännamnet utan rotdomänen, till exempel om det är nucuta.com, använd bara www. Som svarstyp IP-adressen för droplet.
- På samma sätt omdirigerar du WWW-trafik till rotdomänen som följer. Typ är "CNAME", värd är "WWW", svar är "nucuta.com ”eller din domän. Det här steget är viktigt eftersom det omdirigerar all www-trafik till rotdomänen.
- Använd följande kommando på Putty för att komma åt standardfilen för Nginx. Standardfilen använder som standard ett serverblock där den primära domänen finns. Nano Editor rekommenderas starkt eftersom det är ganska bekvämt att använda jämfört med andra.
- I standardfilen navigerar du till servern blockerar och omdirigerar HTTP-trafik till HTTP: er, och i det andra serverblocket där säker trafik hanteras, ändra till exempel serverns namn till domännamn
- Skriv följande kommando för att starta om Nginx-webbservern. När en ändring gjordes i standardfilen måste hela Nginx-servern startas om för att nya ändringar ska ha någon effekt.
- Som standard blockerar brandväggen all trafik utom port 80 och 22. HTTPS använder port 443; därför måste den öppnas manuellt för att komma åt webbservern från klientsidan. Att öppna porten beror på brandväggen.
I CSF (konfigurerad serverbrandvägg)
- Öppnar CSF-konfigurationsfilen genom att skriva följande kommando.
- Lägg till följande portar till TCP in och ut.
TCP_OUT = "20,21,22,25,53,80,443"- Starta om CSF genom att skriva
csf -r
I USF (okomplicerad brandvägg)
- Skriv följande två kommandon för att lägga till HTTPS i undantagslistan. "Nginx Full" -paketet har både HTTP- och HTTPS-portar; följaktligen kan du lägga till hela paketet både trafik in och ut.
sudo ufw ta bort tillåt 'Nginx HTTP'- Skriv följande kommando för att se statusen
ufw-status
- Kontrollera 443-porten från en extern webbplats för att säkerställa att den öppnas säkert. Om porten är öppen kommer det att stå "443 port är öppen"
- Använd nu Certbot för att hämta SSL-certifikatet till domänen. D-parameter krävs för att ange domänen. Låt oss kryptera släpper ett certifikat för både root- och www-underdomänen. Att bara ha en för endera versionen kommer att utfärda en varning i webbläsaren om en besökare får åtkomst till den andra versionen. därför är det viktigt att få certifikatet för båda versionerna. sudo certbot --nginx -d nucuta.com -d www.nucuta.com
- Certbot kommer att be om att omdirigera all HTTP-trafik till HTTPS, men det krävs inte eftersom det redan är gjort i ett av föregående steg.
- Navigera nu till SSL Lab-webbplatsen och kontrollera kvaliteten eller andra problem med certifikatet och dess konfiguration. https: // www.ssllabs.com / ssltest /
- Om den aktuella konfigurationen inte är tillräckligt säker kan du navigera till Mozilla SSL-konfigurationsgenerator och skapa inställningarna för din webbserver. https: // mozilla.github.io / server-side-tls / ssl-config-generator /. Eftersom här använder Nginx, se till att använda Nginx som webbserver. Det erbjuder tre alternativ, mellanliggande, gamla och moderna. Gammalt alternativ gör webbplatsen kompatibel med praktiskt taget alla webbläsare, inklusive supergamla webbläsare som IE 6, medan det mellanliggande alternativet gör den idealisk för genomsnittliga användare, det moderna alternativet genererar konfiguration som krävs för maximal säkerhet, men eftersom en avvägning fungerar inte webbplatsen ordentligt på äldre webbläsare. Så det rekommenderas starkt för webbplatser där säkerheten är ett stort problem.
- Navigera till din webbplats och högerklicka på låsikonen och sedan alternativet “Certificate” för att se certifikatet.
- Om det visar ett framtida datum efter TO i giltigt från alternativ, vilket innebär att certifikatets förvärvsprocess slutfördes. Det är dock viktigt att omdirigera trafik till relevant version av domänen, till exempel kan HTTP- och WWW-trafik omdirigeras HTTPS-rotdomän som visas i den här guiden. Certifikatet förnyas automatiskt av certbot. därför är det alltid tillgängligt för webbplatsägaren gratis.