NGINX PROXY SERVER – INŠTALÁCIA AKO DOCKER

NGINX proxy server
Tento článok je 6 z 18 v sérii Ubuntu server na doma

Linuxový server na doma. V tomto návode sa pokúsim jednoduchým spôsobom vysvetliť na čo slúži NGINX proxy server a prečo táto služba by mala byť určite nainštalovaná ako docker na každom domácom serveri.

Východiská

Pokiaľ sledujete túto výukovú sériu, tak predpokladám, že máte nainštalovaný Ubuntu server a taktiež nainštalovanú podporu dockeru.

Prvým predpokladom je, že mátu u svojho poskytovateľa internetu zakúpenú statickú IP adresu domov, alebo máte niekde svoj VPS a tiež máte statickú IP adresu.
Druhým povinným predpokladom je že ste vlastníkom akejkoľvek internetovej domény.

Pre potreby výuky budem používať doménu www.vawav.com.

Na čo vlastne je NGINX proxy server?

Na Ubuntu serveri Vám môže bežať viacero služieb, každá služba samozrejme musí bežať na rozličnom porte. A teda pokiaľ sa chcem z vonku na túto službu pripojiť, musím do prehliadača zadať okrem adresy samozrejme aj port, napríklad
http://www.vawav.com:12345 – pre službu číslo 1 (Bitwarden)
http://www.vawav.com:45678 – pre službu číslo 2 (Adguard)
http://www.vawav.com:44311 – pre službu číslo 2 (Nextcloud)
atď.

Pri prevádzkovaní viacerých služieb môžeme dospieť k týmto problémom.
1. Musím si pamätať na akom porte mi aká služba beží, čo je pri väčšom počte služieb nepohodlné.
2. Všetky pripojenia sú nezabezpečené (http) a nie https
3. Čo v prípade, že máte službu ktorá je síce na inom zariadení v lokálnej sieti, ale tiež vyžaduje rovnaký port, ktorý ste už použili pri inej službe?
4. Čo v prípade, že potrebujete vyriešiť prístup z inej domény?

Nebolo by oveľa jednoduchšie keby som do prehliadača napísal:
mojehesla.vawav.com -> a budem automaticky presmerovaný na https://mojehesla.vawav.com – kde beží môj server s Bitwarden
adguard.vawav.com -> a budem automaticky presmerovaný na https://adguard.vawav.com – kde beží môj server s Adguard
mojcloud.vawav.com -> a budem automaticky presmerovaný na https://mojcloud.vawav.com – kde beží môj Nextcloud
Nemusím si pamätať žiadne porty a všetky pripojenia sú zabezpečené certifikátom cez https.

Ďalšou výhodou je výhodou je fakt, že na domácom routeri je len potrebné nastaviť smerovanie portov 80 a 443 na môj NGINX server. Žiaden iný port nie je treba presmerovávať (samozrejme to platí len pre webové aplikácie)

A presne na toto slúži NGINX proxy server. Všetku prichádzajúcu komunikáciu na portoch 80 a 443 (čo je protokol http a https) automaticky podľa domény alebo subdomény presmeruje na správne zariadenie na konkrétny port a okrem toho cez neho získame certifikáty na zabezpečenie pripojenia.

To znie výborne !

Inštalácia NGINX proxy manažéra

Inštalácia je možná viacero spôsobmi, ukážem ale cestu prostredníctvom konzoly. Je to pre prípad, že by Portainer nebol dostupný a zároveň uvidíte, ako je možné vytvoriť a spustiť docker inak.

Ako

Prihlásim sa na svoj server

ssh [email protected] -p 2211

Keďže na Ubuntu serveri máme bežiaci UFW firewall je potrebné pridať výnimku pre port 81, na ktorom pobeží Home Assistant a to príkazom.

sudo ufw allow 81

Vytvorím si adresár nginxproxy , v ktorom budú uložené dáta a konfigurácia NGINX

mkdir nginxproxy

vstúpim do adresára nginxproxy

cd nginxproxy

cez príkaz nano si vytvorím súbor docker-compose.yml

nano docker-compose.yml

ktorý budem následne hneď upravovať a vložím cez klávesovú skratku (CTRL+SHIFT+V alebo SHIFT+Insert) do neho kód:

version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    environment:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
  db:
    image: 'jc21/mariadb-aria:10.4'
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./data/mysql:/var/lib/mysql

Následne cez CTRL + O uložíte súbor a opustíte editačný mód nano cez CTRL+X.

Sme späť v konzole a pre spustenie inštalácie zadáme v konzole príkaz

docker-compose up -d

Stiahne sa inštalačný obraz a spustí sa inštalácia dockeru s NGINX proxy manažérom. Akonáhle je opäť dostupný terminál, tak sa prihlásime cez webový prehliadač na adrese http://192.168.1.26:81

prihlasovacie meno: [email protected]
heslo: changeme

Koniec návodu v sérii Linuxový server na doma.
V ďalších častiach si do dockeru začneme inštalovať aplikácie a cez NGINX proxy na ne budeme nastavovať bezpečné pripojenie z internetu cez vlastnú subdoménu.

##### DOSLOV #####
Tvorba obsahu týchto stránok mi zaberá čas, počas ktorého sa snažím dodržiavať pitný režim.
Budem veľmi rád, ak ma v tomto kroku starostlivosti o životosprávu podporíte a prispejete na chod môjho „pivomatu“.
Ďakujem.
Odkazy na zaslanie príspevku.
Patreonhttps://www.patreon.com/vawaver
Paypalhttps://www.paypal.com/paypalme/vawaver
Revoluthttps://revolut.me/antone9rp

Series Navigation<< HOME ASSISTANT AKO DOCKERBITWARDEN AKO DOCKER A PRIPOJENIE CEZ NGINX >>

Komentáre

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *