Kako uporabljati HTTPS na spletnem strežniku Arch Linux

Predpogoji

  • Strežnik Vultr, ki izvaja posodobljen Arch Linux (glejte ta članek .)
  • Deluje spletni strežnik, bodisi Apache ali Nginx
  • Sudo dostop
    • Ukazi, ki jih je treba zagnati kot root, imajo predpono #, tisti, ki jih je mogoče zagnati kot običajni uporabnik, pa $. Priporočen način za zagon ukazov kot root je, da kot navaden uporabnik vsakemu od njih dodate predpono sudo.
  • Imeti nameščen urejevalnik besedil in se seznaniti z njim, kot so vi, vim, nano, emacs ali drug podoben urejevalnik.

Varno serviranje prek HTTPS

Servisiranje vsebine prek HTTPS lahko uporablja izjemno močno šifriranje, tako da je nihče, ki prestreže promet med uporabnikom in spletnim strežnikom, ne more prebrati. Ne samo šifrira sam promet, ampak tudi URL, do katerega se dostopa, kar lahko sicer razkrije informacije. Google že nekaj časa delno določa uvrstitev iskanja glede na to, ali stran uporablja HTTPS, kot del pobude HTTPS Everywhere.

Opomba : iskanje DNS razkrije ime domene, s katero je povezana, vendar med tem postopkom ni izpostavljen celoten URL.

Pridobite SSL/TLS certifikat

Tehnično je TLS nadomestil SSL za potrdila HTTPS, vendar je večina krajev preprosto nadaljevala s klicanjem potrdil TLS z bolj priljubljenim izrazom SSL Certificates. Po običajni uporabi bo ta priročnik naredil enako.

Za uporabo HTTPS potrebuje vaš spletni strežnik zasebni ključ ( .key) za zasebno uporabo in potrdilo ( .crt) za javno skupno rabo, ki vključuje javni ključ. Potrdilo mora biti podpisano. Lahko ga podpišete sami, vendar se bodo sodobni brskalniki pritoževali, da ne prepoznajo podpisnika. Chrome bo na primer prikazal: Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID. Če bo spletno mesto uporabljala samo zasebna skupina ljudi, je to lahko sprejemljivo, saj bodo brskalniki omogočili način za nadaljevanje. V Chromu na primer kliknite »Napredno«, nato »Nadaljuj na... (nevarno)«; še vedno bo prikazano "Ni varno" in prečrtano "https".

Upoštevajte, da vas bo ta postopek zahteval za vašo državo, državo/providence, kraj, organizacijo, organizacijsko enoto in pogosta imena ter vaš e-poštni naslov; vse to je dostopno v vsakem brskalniku, ki se poveže z vašim spletnim mestom prek HTTPS.

Upoštevajte tudi, da če dajete potrdila navideznih gostiteljev, boste morali spodaj navesti različna imena datotek in pokazati nanje v konfiguracijah navideznega gostitelja.

Preklopite v ustrezen imenik za vaš spletni strežnik.

Če ste namestili Apache:

$ cd /etc/httpd/conf

Če ste namestili Nginx:

$ cd /etc/nginx

Ko ste v ustreznem imeniku, ustvarite zasebni ključ ( server.key) in samopodpisano potrdilo ( server.crt):

# openssl req -new -x509 -nodes -newkey rsa:4096 -keyout server.key -out server.crt -days 825

Nastavite dovoljenja samo za branje in dovolite branje zasebnega ključa samo root:

# chmod 400 server.key
# chmod 444 server.crt

Lahko pa pridobite tudi potrdilo, podpisano s strani zaupanja vrednega overitelja potrdil. Plačate lahko različnim podjetjem (certifikacijskim organom), da podpišejo vaš certifikat namesto vas. Ko razmišljate o overiteljih potrdil, je lahko pomembno, da preverite, kateri brskalniki in katere različice jih bodo prepoznale. Nekateri novejši overitelji potrdil morda ne bodo priznani kot bolj uradni kot samopodpisani certifikati v starih različicah brskalnika.

Običajno ne potrebujete samo javnega naslova IP, ampak tudi ime domene. Nekateri overitelji certifikatov lahko izdajo potrdilo na javni naslov IP, vendar se to redko zgodi.

Mnogi ponudniki ponujajo brezplačno 30-dnevno preskusno različico, ki jo priporočamo za začetek, da se lahko prepričate, da postopek deluje za vas, preden ga plačate. Cene se lahko razlikujejo od nekaj dolarjev na leto do več sto, odvisno od vrste in možnosti, kot so več domen ali poddomene. Standardno potrdilo bo samo označevalo, da je organ za podpisovanje preveril, da lahko oseba, ki pridobi potrdilo, spreminja domeno. Potrdilo o razširjeni validaciji bo prav tako navedlo, da je organ za podpisovanje opravil nekaj skrbnega preverjanja vlagatelja zahteve in bo v sodobnih brskalnikih prikazal zeleno vrstico v ali blizu URL-ja. Pri preverjanju, ali lahko v domeni izvajate spremembe, bodo nekateri organi za podpisovanje zahtevali, da prejemate e-pošto na pomemben zveneči naslov v imenu domene, kot je npr.[email protected]. Številni ponujajo alternativno preverjanje, na primer, da vam dajo datoteko, ki jo lahko postavite na vaš strežnik, kot je namestitev svoje datoteke v /srv/http/.well-known/pki-validation/Apache ali /usr/share/nginx/html/.well-known/pki-validation/Nginx za konfiguracije enega imenika gostovanja; ali začasno ustvarite vnos CNAME, ki vam ga zagotovijo v zapisih DNS vaše domene.

Organ za podpisovanje, ki ga izberete, ima lahko nekoliko drugačne korake, vendar bo večina sprejela naslednji postopek:

V ustreznem imeniku ustvarite zasebni ključ ( server.key):

# openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out server.key

Zasebni ključ nastavite samo za branje, samo za root:

# chmod 400 server.key

Ustvari zahtevo za podpis potrdila ( server.csr). Ime svoje domene morate vnesti, ko vas zahteva za Common Name, in geslo za izziv lahko pustite prazno:

# openssl req -new -sha256 -key server.key -out server.csr

Zahtevo za podpis potrdila nastavite na samo za branje, samo za root:

# chmod 400 server.csr

Oglejte si vsebino zahteve za podpis potrdila. Te informacije so kodirane z base64, zato bodo videti kot naključni znaki:

# cat server.csr
-----BEGIN CERTIFICATE REQUEST-----
.....
-----END CERTIFICATE REQUEST-----

Pojdite skozi postopek svojega organa za podpisovanje in ko se zahteva, da prilepite svoj CSR, kopirajte in prilepite to celotno datoteko, vključno z -----vrsticami. Odvisno od pooblastila za podpisovanje, ki ste ga izbrali, in vrste potrdila vam bodo morda takoj dali podpisano potrdilo ali pa nekaj dni. Ko vam dajo podpisano potrdilo, ga kopirajte (vključno z vrsticami -----BEGIN CERTIFICATE-----in -----END CERTIFICATE-----) v datoteko z imenom server.crt, v ustrezen imenik, ki je naveden zgoraj za vaš spletni strežnik, in ga nastavite na samo za branje:

# chmod 444 server.crt

Konfigurirajte svoj spletni strežnik za uporabo zasebnega ključa in potrdila

Če uporabljate požarni zid, boste morali omogočiti dohodni promet TCP na vrata 443.

Za Apache

Uredite /etc/httpd/conf/httpd.confin razkomentirajte te vrstice:

LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf

Upoštevajte, da če uporabljate navidezne gostitelje, boste z zgornjo spremembo /etc/httpd/conf/httpd.confuporabili isto potrdilo na vseh gostiteljih. Če želite vsakemu gostitelju dati lastno potrdilo in preprečiti, da bi se brskalniki pritoževali nad potrdilom, ki se ne ujema z imenom domene, morate urediti vsako od njihovih konfiguracijskih datotek, tako /etc/httpd/conf/vhosts/da kažejo na lastno potrdilo in zasebni ključ:

  • Spremeni <VirtualHost *:80>v <VirtualHost *:80 *:443>.
  • Znotraj VirtualHostrazdelka dodajte naslednje:

    SSLEngine on
    SSLCertificateFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.crt"
    SSLCertificateKeyFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.key"
    

Znova zaženite Apache:

# systemctl restart httpd

Za Nginx

Uredite /etc/nginx/nginx.confin pri dnu razkomentirajte HTTPS serverrazdelek in spremenite vrstice na naslednje:

ssl_certificate      server.crt;
ssl_certificate_key  server.key;
root                /usr/share/nginx/html;

Upoštevajte, da če uporabljate navidezne gostitelje, boste z zgornjo spremembo /etc/nginx/nginx.confposlali vse gostitelje na to lokacijo. Če želite vsakemu gostitelju dati lastno potrdilo, morate urediti vsako od njihovih konfiguracijskih datotek, /etc/nginx/sites-enabled/da bo imel dodaten strežniški blok, ki kaže na lastno potrdilo in zasebni ključ:

server {
    listen 443 ssl;
    server_name YOUR-DOMAIN-NAME.com;

    ssl_certificate      YOUR-DOMAIN-NAME.com.crt;
    ssl_certificate_key  YOUR-DOMAIN-NAME.com.key;

    ssl_session_cache   shared:SSL:1m;
    ssl_session_timeout 5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        root /usr/share/nginx/YOUR-DOMAIN-NAME.com;
        index  index.html index.htm;
    }
}

Znova zaženite Nginx:

# systemctl restart nginx

Namestitev 2019 Arch Linux na strežnik Vultr

Namestitev 2019 Arch Linux na strežnik Vultr

Uvod Arch Linux ima manjše, a še vedno močne sledi kot bolj priljubljene distribucije. Njegova filozofija je precej drugačna, s prednostmi

Namestitev Arch Linuxa na strežnik Vultr

Namestitev Arch Linuxa na strežnik Vultr

Vultr vam ponuja izjemno funkcionalnost, ki vam omogoča uporabo lastne slike po meri poleg njihovih odličnih predlog, kar vam omogoča zagon

Uporaba Devtools na Arch Linux

Uporaba Devtools na Arch Linux

Paket Devtools je bil prvotno narejen za zaupanja vredne uporabnike, da pravilno ustvarijo pakete za uradna skladišča. Lahko pa ga uporablja navaden uporabnik

Uporaba Makepkg v Arch Linuxu

Uporaba Makepkg v Arch Linuxu

Če makepkg uporabljate neposredno, nekoliko onesnaži vaš sistem. Skupina paketov osnovnega razvoja mora biti nameščena. Na ta način so privzeto potrebne samo odvisnosti

Kako namestiti PostgreSQL 11.1 na Arch Linux

Kako namestiti PostgreSQL 11.1 na Arch Linux

Predpogoji Strežnik Vultr, ki izvaja posodobljen Arch Linux (glejte ta članek.) Dostop Sudo. Ukazi, ki jih je treba zagnati kot root, imajo predpono # in ena

Kako uporabljati HTTPS na spletnem strežniku Arch Linux

Kako uporabljati HTTPS na spletnem strežniku Arch Linux

Predpogoji Strežnik Vultr z najnovejšo različico Arch Linux (glejte ta članek.) Zagnan spletni strežnik, bodisi Apache ali Nginx Sudo, potrebni so ukazi t

Gradnja paketov na Arch Linux (vključno z AUR)

Gradnja paketov na Arch Linux (vključno z AUR)

V Arch Linuxu so uradna skladišča: jedro, ekstra in skupnost. Ti paketi so že prevedeni in so nameščeni prek pacmana. Za th

Nastavite Spigot Server na Arch Linux

Nastavite Spigot Server na Arch Linux

Ta vadnica pojasnjuje, kako nastaviti strežnik Minecraft z uporabo Spigot na Arch Linux. Ta vadnica predvideva, da ste običajen uporabnik (ne-root) in imate

Kako namestiti Nginx 1.14 na Arch Linux

Kako namestiti Nginx 1.14 na Arch Linux

Predpogoji Strežnik Vultr, ki izvaja posodobljen Arch Linux (glejte ta članek.) Dostop Sudo. Ukazi, ki jih je treba zagnati kot root, imajo predpono #. Th

Kako namestiti Apache 2.4 na Arch Linux

Kako namestiti Apache 2.4 na Arch Linux

Predpogoji Strežnik Vultr z najnovejšo različico Arch Linux. Za več informacij glejte ta priročnik. Sudo dostop. Ukazi, ki jih je treba zagnati kot root ar

Kako namestiti Python 3.7 na spletni strežnik Arch Linux

Kako namestiti Python 3.7 na spletni strežnik Arch Linux

Predpogoji Strežnik Vultr z najnovejšo različico Arch Linux (glejte ta članek.) Zagnan spletni strežnik, dostop do Apache ali Nginx Sudo: ukazi zahtevajo

Namestite Arch Linux z Btrfs Snapshotting

Namestite Arch Linux z Btrfs Snapshotting

Predgovor Arch Linux je distribucija splošnega namena, ki je dobro znana po svoji vrhunski tehnologiji in prilagodljivi konfiguraciji. S posnetki Btrfs lahko naredimo

Kako namestiti Perl 5.28 na spletni strežnik Arch Linux

Kako namestiti Perl 5.28 na spletni strežnik Arch Linux

Predpogoji Strežnik Vultr z najnovejšo različico Arch Linux (glejte ta članek.) Zagnan spletni strežnik, dostop do Apache ali Nginx Sudo: ukazi zahtevajo

Kako namestiti PHP 7.3 na spletni strežnik Arch Linux

Kako namestiti PHP 7.3 na spletni strežnik Arch Linux

Predpogoji Strežnik Vultr z najnovejšo različico Arch Linux (glejte ta članek.) Zagnan spletni strežnik, dostop do Apache ali Nginx Sudo. Ukazi zahtevajo

Nastavite strežnik Mumble na Arch Linux

Nastavite strežnik Mumble na Arch Linux

Ta vadnica pojasnjuje, kako nastaviti strežnik Mumble (Murmur) na Arch Linux. Vse, kar se naredi v tej vadnici, se izvaja kot root uporabnik. Namestitev an

Nastavite strežnik Counter-Strike: Global Offensive (CSGO) na Arch Linux

Nastavite strežnik Counter-Strike: Global Offensive (CSGO) na Arch Linux

Ta vadnica pojasnjuje, kako nastaviti strežnik Counter-Strike: Global Offensive na Arch Linux. Ta vadnica predpostavlja, da ste se prijavili s standardno uporabo

Nastavite strežnik Team Fortress 2 na Arch Linux

Nastavite strežnik Team Fortress 2 na Arch Linux

Ta vadnica pojasnjuje, kako nastaviti strežnik Team Fortress 2 na Arch Linux. Predvidevam, da ste prijavljeni z nekorenskim uporabniškim računom, ki ima sudo dostop

Kako namestiti MariaDB 10.3 ali MySQL 8.0 na Arch Linux

Kako namestiti MariaDB 10.3 ali MySQL 8.0 na Arch Linux

Predpogoji Strežnik Vultr z najnovejšo različico Arch Linux (glejte ta članek.) Dostop do sudo: ukazi, ki jih je treba zagnati kot root, imajo predpono # in ena

Kako namestiti MongoDB 4.0 na Arch Linux

Kako namestiti MongoDB 4.0 na Arch Linux

Predpogoji Strežnik Vultr z najnovejšo različico Arch Linux (glejte ta članek) Dostop Sudo: ukazi, ki jih je treba zagnati kot root, imajo predpono # in ena

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več