82 lines
2.9 KiB
Markdown
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)
|
|

|
|
2. [Konfiguration & Doku](https://git.fet.at/andis/triton2_config/)
|
|

|
|
### 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
|
|

|
|

|
|
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/
|
|
|
|
|
|

|
|
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; |