2022-03-13 15:38:34 +01:00
2022-02-20 15:35:16 +01:00
2021-12-04 11:05:01 +01:00
2021-12-04 14:17:28 +01:00
2021-12-08 09:07:17 +01:00
2021-12-04 15:54:23 +01:00
2021-12-08 09:07:17 +01:00
2022-02-11 15:24:40 +01:00
2022-02-20 15:35:16 +01:00
2021-09-26 18:19:52 +00:00
2021-09-26 18:19:52 +00:00

Anleitung für Proxy Server in der FET

Überblick

Der Proxy ist aufgeteilt in zwei Git Projekte auf git.fet.at

  1. Openresty mit Erweiterungen OpenrestyScreenshot
  • Der wichtigste Teil ist nginx.conf diese wird ins Dockerimage gepackt. Diese sollte nicht zwischendurch verändert werden.
  • Dockerfile in diesem Dockerfile sind alle Schritte für die Vorbereitung des Images mit openresty.
  1. Konfiguration & Doku

Triton Config Wichtige Teile sind:

  • conf.d enthält die Konfiguation der Seiten und wird nach /etc/nginx/conf.d kopiert / gemappt
  • snippets enthält snippets die für die kürzere Konfiguration genutzt werden können. Diese sind fix ins Dockerimage zu kopieren. In dem Ornder im Image sind noch andere Config Files. ggf. können ergänzende Dateien in einen SubFolder gemappt werden
  • Dockerfile das Dockerfile erzeugt das Image, das bei docker-compose genutzt werden soll. Achtung, dieses Dockerfile nutzt das Image, dass im ersten Projekt erstellt wird als Basis. Wenn die Docker registry nicht zur Verfügung steht müssen beide neu erzeugt werden.

Installation

Docker

Damit dieses Projekt genutzt werden kann ist eine docker Installation erforderlich. Dafür einfach Google mit Docker-ce + dem jeweiligen Betriebssystem nutzen.

Für Debian sudo apt-get update

sudo apt-get install \
   ca-certificates \
   curl \
   gnupg \
   lsb-release

echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

Überprüfen ob das geklappt hat mit: sudo docker run hello-world

Variante: Deployen via Portainer

Der Vorteil das Projekt so zu deployen ist, dass es sehr schnell geht und ein grafisches Interface zur Verfügung steht.

Portainer installieren

Falls Portainer noch gar nicht installiert ist: Portainer from scratch

Falls Portainer schon installiert ist und die neue Docker Umgebung verwaltet werden soll Portainer Agent installieren

Stack deployen

DeployStackScreenshot1 DeployStackScreenshot2 Mit diesem Befehl wird direkt das file "docker-compose.yml" deployed. Alernativ kann auch der Inhalt aus dem docker-compose.yml in den Editor in Portainer kopiert werden.

Variante diekt clonen + docker-compose

git clone https://git.fet.at/andis/triton2_config

docker-compose up

Updates

Wenn der Code gepusht wird und keine Fehler in der Konfiguration sind wird das neueste Template auf die Docker registry gepusht. Jenkins Pipeline

dann kann einfach mit docker das neueste Image deployd werden. Besonders mit Portainer ist das einfach.

Bind

Wenn das Projekt auf dem Server gecloned ist kann auch die conf.d mit bind in den Container gemountet werden. Achtung Änderungen am Image können dann weniger leicht deployed werden. # bei der Produktivvariante macht es Sinn hier einen Ordner zu mappen # zB: /srv/conf.d/:/etc/nginx/conf.d/

Triton2 Configuration Project Wir haben bis jetzt

Einrichten einer externen Seite:

In diesem Projekt sind mehrere Snippets vorbereitet, die genutzt werden können um eine externe Seite einzurichten. Für eine einfache externe Seite verwenden wir "default_proxy"

Snippet default_proxy.conf location / { include proxy.conf; include secure.conf; proxy_buffering off; proxy_pass http://$proxy_host:$proxy_port; } Die zugehörige Konfiguration sieht so aus: server { listen 443 ssl; server_name fet.at; set $proxy_host fetsite21; set $proxy_port 8001; include ssl.conf; include default_proxy.conf; proxy_set_header Host fet.at; } Es ist nicht notwendig, das Zertifiat zu erzeugen oder einen Endpunkt für den Port 80 zu konfigurieren. Dies ist bereits in der default.conf erledigt. Das SSL Zertifkat wir bezogen wenn die Url das erste mal aufgerufen wird.

include internal_proxy.conf;

Description
Diese Konfiguration gehört zu dem Openresty Projekt und sollte auf diesem installiert werden
Readme 604 KiB
Languages
Dockerfile 53.6%
Shell 46.4%