Files
triton2_config/README.md

82 lines
2.9 KiB
Markdown

# Anleitung für Proxy Server in der FET
## Installation
Der Proxy ist aufgeteilt in zwei Git Projekte auf git.fet.at
1. [Openresty mit Erweiterungen](https://git.fet.at/andis/openrestyextended)
![OpenrestyScreenshot](docs/openrestyexten.png)
2. [Konfiguration & Doku](https://git.fet.at/andis/triton2_config/)
![OpenrestyScreenshot](docs/tritonconfig.png)
### Docker
Damit dieses Projekt genutzt werden kann ist eine docker Installation erforderlich
### Variante: Deployen via Portainer
Der Vorteil das Projekt so zu deployen ist, dass es sehr schnell geht.
#### Portainer installieren
Falls Portainer noch gar nicht installiert ist:
[Portainer from scratch](https://docs.portainer.io/v/ce-2.9/start/install/server/docker/linux)
Falls Portainer schon installiert ist und die neue Docker Umgebung verwaltet werden soll
[Portainer Agent installieren](https://docs.portainer.io/v/ce-2.9/start/install/agent/docker/linux)
#### Stack deployen
![DeployStackScreenshot1](docs/DeployComposeStack1.png)
![DeployStackScreenshot2](docs/DeployComposeStack2.png)
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](jenkins.fet.at)
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](docs/tritonconfig.png)
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;