Prasības
Šajā rokasgrāmatā tiek izmantots Ubuntu 16.04 kā operētājsistēma, kurā darbojas tīmekļa serveris. Tomēr tās pašas darbības var izmantot jebkurai citai Ubuntu versijai, kā arī, ja iestatījumos nav atšķirību. Šajā rokasgrāmatā tiek pieņemts, ka lietotājam jau ir instalēts tīmekļa serveris, un tas ir Nginx. Kā SSH klients tiek izmantots tepe un kā failu redaktors ieteicams Nano.
Risinājums
- Pilienam izveidotajam tīmekļa serverim var piekļūt, izmantojot SSH protokolu. Lejupielādējiet un instalējiet Putty no tās oficiālās vietnes. Pieteikums ir pilnīgi bez maksas.
- Pēc Putty lejupielādes dodieties uz priekšu un lejupielādējiet Nano. Putty mērķis ir piekļuve Linux konsolei, lai ierakstītu čaulas komandas, savukārt Nano tiek izmantots iekšējo failu, piemēram, Nginx noklusējuma faila, rediģēšanai.
- Palaidiet tepi un pārejiet uz cilni Sesija.
- Laukā Saimnieka nosaukums ierakstiet DigitalOcean piliena, kurā ir instalēts tīmekļa serveris, IP adresi. Pilienu IP adresi var atrast vietnē https: // cloud.digitālais.com / pilieni. Ostas laukā ierakstiet 22.
- Pēc visu nepieciešamo lauku iesniegšanas, kā redzams iepriekš, nospiediet Labi, lai piemērotu izmaiņas un pieteiktos Pilieniņā. Piesakoties sistēmā, tā jautās Pilieniņa lietotājvārdu un paroli. Gan lietotājvārds, gan parole tiek nosūtīti uz reģistrēto e-pastu DigitalOcean, veidojot pilienu.
- Šajā rokasgrāmatā tiek izmantots trešās puses rīks Certbot, lai automatizētu visu digitālo sertifikātu iegūšanas un atjaunošanas procesu. Certbot ir sava vietne, no kuras var viegli izveidot izmantojamās komandas. Saskaņā ar Certbot pareizās komandas Certbot instalēšanai Ubuntu ir šīs. Vispirms tas atjaunina pakotnes informāciju vietējā repozitorijā, pēc tam instalē programmatūras rekvizītu kopīgo pakotni, kas nodrošina dažus noderīgus skriptus, rīkojoties ar personisko pakotņu sasniegumiem (PPA), pēc tam instalē certbot, pēc tam atkal atjaunina vietējo repozitoriju, pēc tam beidzot instalē python certbot nginx pakotne. Pirms doties uz nākamo soli, pārliecinieties, vai visi šie pakotnes ir pareizi instalēti.
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa: certbot / certbot
$ sudo apt-get atjauninājums
$ sudo apt-get install python-certbot-nginx
- Pārejiet uz vietni, no kuras domēns tika iegādāts. Šajā rokasgrāmatā kā domēna reģistrators tiek izmantots Porkbun, pēc tam domēnam pievienojiet A ierakstu. Tips ir ieraksts, resursdators ir tukšs, ja IP ir saistīts ar saknes domēnu, pretējā gadījumā izmantojiet apakšdomēna nosaukumu bez saknes domēna, piemēram, ja tas ir kodols.com, vienkārši izmantojiet www. Kā atbildi ierakstiet pilītes IP adresi.
- Tādā pašā veidā novirziet WWW trafiku uz saknes domēnu šādi. Tips ir “CNAME”, resursdators ir “WWW”, atbilde ir “nucuta.com ”vai jūsu domēnu. Šis solis ir svarīgs, jo tas novirza visu www trafiku uz saknes domēnu.
- Izmantojiet šo komandu Putty, lai piekļūtu noklusējuma File of Nginx failam. Noklusējuma failā pēc noklusējuma tiek izmantots viens servera bloks, kurā atrodas primārais domēns. Ļoti ieteicams lietot Nano Editor, jo tas ir diezgan ērti lietojams salīdzinājumā ar citiem.
- Noklusējuma failā dodieties uz servera bloķēšanu un HTTP trafika novirzīšanu uz HTTP, un otrā servera blokā, kur tiek izmantota droša trafika, mainiet, piemēram, servera_nosaukums uz domēna nosaukumu
- Lai restartētu Nginx tīmekļa serveri, ierakstiet šo komandu. Ikreiz, kad noklusējuma failā tika veiktas izmaiņas, viss Nginx serveris ir jārestartē, lai jaunām izmaiņām būtu kāda ietekme.
- Pēc noklusējuma ugunsmūris bloķē visu datplūsmu, izņemot 80. un 22. portu. HTTPS izmanto 443. portu; tāpēc tas ir manuāli jāatver, lai piekļūtu tīmekļa serverim no klienta puses. Ostas atvēršana ir atkarīga no ugunsmūra.
CSF (konfigurēts servera ugunsmūris)
- Atver CSF konfigurācijas failu, ierakstot šādu komandu.
- Pievienojiet TCP In and Out šādus portus.
TCP_OUT = "20,21,22,25,53,80,443"- Restartējiet CSF, ierakstot
csf -r
USF (nekomplicēts ugunsmūris)
- Ierakstiet divas šādas komandas, lai pievienotu HTTPS izņēmumu sarakstam. “Nginx Full” paketei ir gan HTTP, gan HTTPS porti; tādējādi pilnas paketes pievienošana ļauj gan satiksmi ienākt, gan iziet.
sudo ufw dzēst atļaut 'Nginx HTTP'- Lai redzētu statusu, ierakstiet šo komandu
ufw statuss
- Pārbaudiet ārējās vietnes 443 portu, lai pārliecinātos, vai tas ir atvērts. Ja osta ir atvērta, tajā būs teikts “443 osta ir atvērta”
- Tagad izmantojiet Certbot, lai izgūtu SSL sertifikātu domēnā. D parametrs ir nepieciešams, lai norādītu domēnu. Šifrēsim vienu sertifikātu gan root, gan www apakšdomēnam. Ja abām versijām ir tikai viens, pārlūkprogrammā tiks parādīts brīdinājums, ja apmeklētājs piekļūs otrai versijai; tāpēc ir svarīgi iegūt sertifikātu abām versijām. sudo certbot - nginx -d nucuta.com -d www.nucuta.com
- Certbot lūgs visu HTTP trafiku novirzīt uz HTTPS, taču tas nav nepieciešams, jo tas jau ir izdarīts vienā no iepriekšējām darbībām.
- Tagad dodieties uz SSL Lab vietni un pārbaudiet sertifikāta un tā konfigurācijas kvalitāti vai citas problēmas. https: // www.ssllabs.com / ssltest /
- Ja pašreizējā konfigurācija nav pietiekami droša, dodieties uz Mozilla SSL konfigurācijas ģeneratoru un ģenerējiet iestatījumus savam tīmekļa serverim. https: // mozilla.github.io / servera puse-tls / ssl-config-generator /. Tā kā šeit tiek izmantots Nginx, noteikti izmantojiet Nginx kā tīmekļa serveri. Tas piedāvā trīs iespējas, starpposma, veca un moderna. Vecā opcija padara vietni saderīgu ar praktiski visiem pārlūkiem, ieskaitot tādus super vecus pārlūkus kā IE 6, turpretī starpposma opcija padara to ideāli piemērotu vidusmēra lietotājiem, mūsdienīga opcija ģenerē konfigurāciju, kas nepieciešama maksimālai drošībai, taču, tā kā vietnes tirdzniecība nedarbosies pareizi vecākās pārlūkprogrammās. Tātad, tas ir ļoti ieteicams vietnēm, kurās drošība rada lielas bažas.
- Pārejiet uz savu vietni un ar peles labo pogu noklikšķiniet uz bloķēšanas ikonas, pēc tam uz opcijas “Sertifikāts”, lai redzētu sertifikātu.
- Ja tas parāda nākotnes datumu pēc TO, kas ir derīgs no opcijas, tas nozīmē, ka sertifikāta iegūšanas process ir pabeigts. Tomēr ir svarīgi novirzīt trafiku uz attiecīgo domēna versiju, piemēram, HTTP un WWW trafiku var novirzīt HTTPS saknes domēnu, kā redzams šajā ceļvedī. Sertifikātu automātiski atjaunos Certbot; līdz ar to vietņu īpašniekam tas ir mūžīgi pieejams bez maksas.