Update Diplomarbeitsbuch-individueller-teil-Konstantin-Hintermayer.md #65

Open
Kocoder wants to merge 1 commits from kh-system-architecture into main

View File

@@ -73,7 +73,10 @@ Im Package Projekt findet man Skripte zum Debuggen und Releasen eines Moduls. Un
- Beim Debug werden die DLLs, PDBs und statischen Assets wie Skripte und Stylesheets der 3 anderen Projekte in den bereits gebauten Oqtane.Server `oqtane.framework/oqtane.server/bin/debug/net10.0/...` kopiert. - Beim Debug werden die DLLs, PDBs und statischen Assets wie Skripte und Stylesheets der 3 anderen Projekte in den bereits gebauten Oqtane.Server `oqtane.framework/oqtane.server/bin/debug/net10.0/...` kopiert.
- Beim Release wird ein NuGet-Paket erstellt und unter oqtane.framework/oqtane.server/Packages abgelegt. Dort abgelegte NuGet-Pakete werden beim nächsten Start des Oqtane Servers installiert (DB Migrationen werden gemacht und die Pakete entpackt). - Beim Release wird ein NuGet-Paket erstellt und unter oqtane.framework/oqtane.server/Packages abgelegt. Dort abgelegte NuGet-Pakete werden beim nächsten Start des Oqtane Servers installiert (DB Migrationen werden gemacht und die Pakete entpackt).
## Systemarchitektur (Postgres / Oqtane / Nginx ) ## Systemarchitektur (Postgres / Oqtane / Nginx)
In diesem Kapitel erkläre ich wie die ausgewählten Komponenten zusammenspielen. Wir verwenden NginX als Reverse Proxy, welcher bei uns die SSL Terminierung macht. Das Zertifikat, welches verwendet wird, wird von Let's Encrypt bereit gestellt und mitels HTTP-Challanges und dem Certbot auf dem Server aktualisiert und verwaltet. Oqtane selber läuft als Systemd-Service im Kestrel Backend. Kestrel ist ein kleiner Webserver, welcher in das ASP.NET Core Framework eingebaut worden ist. Oqtane (bzw. der ASP.NET Core Server "Kestrel") hört auf der Loopback IP und Port 5000. Damit ist Oqtane nur durch NginX erreichbar. PostgreSQL ist die Datenbank in dem System: Sie hört wieder auf der Loopback IP und Port 5432.
Review

Rechtschreibung/Stil: 'NginX' -> 'Nginx'. 'mitels' -> 'mittels'. 'Challanges' -> 'Challenges'. 'selber' -> 'selbst'. Zudem 'auf der Loopback IP' -> 'auf die Loopback-IP'.

In diesem Kapitel erkläre ich, wie die ausgewählten Komponenten zusammenspielen. Wir verwenden Nginx als Reverse Proxy, welcher bei uns die SSL-Terminierung macht. Das Zertifikat, welches verwendet wird, wird von Let's Encrypt bereitgestellt und mittels HTTP-Challenges und dem Certbot auf dem Server aktualisiert und verwaltet. Oqtane selbst läuft als Systemd-Service im Kestrel-Backend. Kestrel ist ein kleiner Webserver, welcher in das ASP.NET Core Framework eingebaut worden ist. Oqtane (bzw. der ASP.NET Core Server „Kestrel“) hört auf die Loopback-IP und Port 5000. Damit ist Oqtane nur durch Nginx erreichbar. PostgreSQL ist die Datenbank in dem System: Sie hört ebenfalls auf die Loopback-IP und Port 5432.
Rechtschreibung/Stil: 'NginX' -> 'Nginx'. 'mitels' -> 'mittels'. 'Challanges' -> 'Challenges'. 'selber' -> 'selbst'. Zudem 'auf der Loopback IP' -> 'auf die Loopback-IP'. ```suggestion In diesem Kapitel erkläre ich, wie die ausgewählten Komponenten zusammenspielen. Wir verwenden Nginx als Reverse Proxy, welcher bei uns die SSL-Terminierung macht. Das Zertifikat, welches verwendet wird, wird von Let's Encrypt bereitgestellt und mittels HTTP-Challenges und dem Certbot auf dem Server aktualisiert und verwaltet. Oqtane selbst läuft als Systemd-Service im Kestrel-Backend. Kestrel ist ein kleiner Webserver, welcher in das ASP.NET Core Framework eingebaut worden ist. Oqtane (bzw. der ASP.NET Core Server „Kestrel“) hört auf die Loopback-IP und Port 5000. Damit ist Oqtane nur durch Nginx erreichbar. PostgreSQL ist die Datenbank in dem System: Sie hört ebenfalls auf die Loopback-IP und Port 5432. ```
```mermaid ```mermaid
architecture-beta architecture-beta
group server(server)[Server] group server(server)[Server]
@@ -88,6 +91,9 @@ architecture-beta
nginx:R <--> L:oqtane nginx:R <--> L:oqtane
oqtane:R <--> L:db oqtane:R <--> L:db
``` ```
Zusätzlich gab es einen Administrationszugang zu den Servern, welcher über SSH möglich war. Dieser wurde für die Installation und Konfiguration der einzelnen Komponenten verwendet. Bei Hetzner war dieser Zugang nur über eine Wireguard VPN erreichbar. Bei der Schule war dieser Zugang direkt (über einen Hight-Port) möglich. Und bei LiveDesign war dieser Zugang wieder über eine VPN geregelt. Anfänglich mit SSL VPN, später mit einem IPSEC / Strongswan.
Review

Rechtschreibung: 'Hight-Port' -> 'High-Port'.

Bei der Schule war dieser Zugang direkt (über einen High-Port) möglich. Und bei LiveDesign war dieser Zugang wieder über eine VPN geregelt.
Rechtschreibung: 'Hight-Port' -> 'High-Port'. ```suggestion Bei der Schule war dieser Zugang direkt (über einen High-Port) möglich. Und bei LiveDesign war dieser Zugang wieder über eine VPN geregelt. ```
## Websockets und HTTP 1.1 ## Websockets und HTTP 1.1