Document local dev server fallback

This commit is contained in:
2026-05-21 13:07:07 +02:00
parent c8728595a4
commit 6b3dc2de60
4 changed files with 250 additions and 2 deletions
@@ -6,7 +6,7 @@
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "https://localhost:55415;http://localhost:55416"
"applicationUrl": "https://localhost:55415;http://localhost:55416;http://0.0.0.0:5000"
}
}
}
@@ -0,0 +1,158 @@
# Lokaler Uebergangsserver
Stand: 2026-05-21
Diese Doku beschreibt, wie die Trafag-Cockpit-App voruebergehend auf dem Entwicklungs-PC bereitgestellt werden kann, solange der zentrale IIS-Server noch nicht korrekt erreichbar ist.
## Zweck
Der zentrale IIS-Server ist aktuell nicht ueber HTTPS erreichbar, weil der TLS-Handshake ein Client-Zertifikat fordert. Bis Marco/IT die IIS-SSL-Einstellungen korrigiert hat, kann die App temporaer lokal auf dem Entwicklungs-PC laufen.
## Aktueller lokaler Zugriff
Aktuelle IP im Trafag-WLAN/Firmennetz:
```text
172.16.9.185
```
URL fuer andere Mitarbeitende:
```text
http://172.16.9.185:5000
```
Hinweis: Die IP kann sich nach Neustart, WLAN-Wechsel, VPN-Wechsel oder DHCP-Erneuerung aendern. Neue IP mit `ipconfig` pruefen.
## Start der App
Im Projektordner:
```powershell
cd C:\Users\koi\source\repos\Ai\TrafagSalesExporter
dotnet run
```
Das Entwicklungsprofil wurde in `Properties/launchSettings.json` erweitert:
```json
"applicationUrl": "https://localhost:55415;http://localhost:55416;http://0.0.0.0:5000"
```
Damit bleiben die lokalen Entwicklungs-URLs aktiv:
```text
https://localhost:55415
http://localhost:55416
```
Zusaetzlich lauscht die App fuer andere PCs auf:
```text
http://0.0.0.0:5000
```
Falls eine alte Visual-Studio-Instanz bereits laeuft, App stoppen und neu starten, damit die neue Portbindung aktiv wird.
## Firewall
Am 2026-05-21 wurde in einer Admin-CMD eine allgemeine Port-5000-Regel angelegt und auf alle Profile erweitert.
Aktueller Regelstand:
```text
Regelname: Local Dev Web Port 5000
Aktiviert: Ja
Richtung: Eingehend
Profile: Domaene, Privat, Oeffentlich
Protokoll: TCP
Lokaler Port: 5000
Remote-IP: Beliebig
Aktion: Zulassen
```
Pruefen:
```cmd
netsh advfirewall firewall show rule name="Local Dev Web Port 5000"
```
Falls die Regel neu angelegt werden muss:
```cmd
netsh advfirewall firewall add rule name="Local Dev Web Port 5000" dir=in action=allow protocol=TCP localport=5000 profile=any
```
Falls eine bestehende Regel auf alle Profile erweitert werden muss:
```cmd
netsh advfirewall firewall set rule name="Local Dev Web Port 5000" new profile=any
```
Regel spaeter entfernen:
```cmd
netsh advfirewall firewall delete rule name="Local Dev Web Port 5000"
```
Die Firewall-Regel bleibt nach Neustart und normalerweise auch nach Windows-Updates aktiv. Die App selbst startet nach einem Neustart nicht automatisch.
## HTTP / HTTPS
Die Freigabe fuer andere PCs erfolgt bewusst ueber HTTP:
```text
http://<PC-IP>:5000
```
Lokales HTTPS ueber `https://localhost:55415` funktioniert nur auf dem Entwicklungs-PC. Fuer andere PCs waere HTTPS mit Zertifikat und Trust-Aufwand verbunden. Fuer den temporaeren internen Betrieb reicht HTTP.
## VPN-Hinweis
Wenn der Entwicklungs-PC zuhause per AlwaysOnVPN verbunden ist, kann der Zugriff aus dem Buero auf die VPN-IP funktionieren, ist aber nicht garantiert.
Wenn `http://<VPN-IP>:5000` nicht erreichbar ist und die lokale Firewall-Regel aktiv ist, liegt es wahrscheinlich am AlwaysOnVPN-/Firmennetz-Routing. Das kann lokal auf dem PC nicht sicher freigeschaltet werden.
## Sicherheit
- Nur im Trafag-Firmennetz bzw. ueber interne VPN-Szenarien verwenden.
- Nicht oeffentlich freigeben.
- Der PC muss eingeschaltet bleiben.
- Das PowerShell-/Visual-Studio-Fenster mit der laufenden App muss offen bleiben.
- Finance Cockpit und HR KPI bleiben ueber ihre App-internen Logins geschuetzt.
## Zentraler IIS-Server
Aktueller Befund:
```text
TLS RequestedClientCert=True
SEC_E_NO_CREDENTIALS
```
Das bedeutet: Der Server fordert beim HTTPS/TLS-Handshake ein Client-Zertifikat. Dadurch erreichen Requests weder `diag.txt` noch `BiDashboard.dll`.
Marco/IT soll in IIS bei der Website bzw. Application die SSL Settings pruefen:
```text
Client certificates: Ignore
```
oder hoechstens:
```text
Client certificates: Accept
```
Nicht:
```text
Client certificates: Require
```
Danach testen:
```text
https://trch-webapp-bidashboard.trafagch.local/BiDashboard/diag.txt
https://trch-webapp-bidashboard.trafagch.local/BiDashboard/
```
@@ -12,6 +12,7 @@ Diese Datei ordnet die vorhandenen Markdown-Dateien ein. Ziel ist, alte Arbeitsn
| `NEXT_STEPS_2026-04-15.md` | Aktuelle offene Punkte und naechste Schritte | Weiter pflegen |
| `HANDOFF_2026-04-15.md` | Technischer Handoff / Kontext fuer Weiterarbeit | Weiter pflegen |
| `docs/DEPLOYMENT_IIS_HANDOFF_2026-05-19.md` | IIS-/Server-Handoff | Aktuell fuer Deployment |
| `docs/LOCAL_DEV_SERVER_UEBERGANG_2026-05-21.md` | Lokaler Uebergangsserver auf Entwicklungs-PC | Aktuell bis IIS-Fix |
| `docs/FINANCE_ENTSCHEIDE.md` | Finance-Regeln und Kontrollpunkte | Aktuell fuehrend fuer Finance-Logik |
| `entscheide.md` | Kurzfassung der Finance-Fachentscheide | Aktuell als Kurzfassung |
| `docs/HR_KPI_NACHDOKU_2026-05-13.md` | HR-KPI technische/fachliche Nachdoku | Aktualisiert um 2026-05-20 Erweiterungen |
+89
View File
@@ -23,6 +23,95 @@ Verifiziert:
- `dotnet test TrafagSalesExporter.sln --verbosity minimal --no-restore -p:BaseOutputPath=.tmp_build\bin\ -p:BaseIntermediateOutputPath=.tmp_build\obj\`
- Normaler Debug-Build war lokal durch eine von Visual Studio/.NET Host gesperrte `bin\Debug\net8.0\BiDashboard.dll` blockiert.
## Lokaler Uebergangsserver bis IIS-Fix 2026-05-21
Zweck:
- Falls der zentrale IIS-Server noch nicht erreichbar ist, kann die App voruebergehend auf dem Entwicklungs-PC laufen.
- Andere Mitarbeitende greifen dann im Firmennetz ueber die IP des PCs zu.
- Ausfuehrliche Betriebsdoku: `docs/LOCAL_DEV_SERVER_UEBERGANG_2026-05-21.md`.
Start auf dem Entwicklungs-PC:
```powershell
dotnet run --urls "http://0.0.0.0:5000"
```
Nachtrag:
- `Properties/launchSettings.json` wurde so angepasst, dass das Entwicklungsprofil zusaetzlich auf `http://0.0.0.0:5000` lauscht.
- Bei Start aus Visual Studio bzw. ueber das Projektprofil bleibt `https://localhost:55415` lokal verfuegbar, Port `5000` ist aber zusaetzlich fuer andere PCs erreichbar.
- Falls bereits eine alte Visual-Studio-Instanz laeuft, App stoppen und neu starten, damit die geaenderte URL-Bindung aktiv wird.
Zugriff von anderen PCs:
```text
http://<PC-IP>:5000
```
Aktueller Stand vom 2026-05-21:
```text
PC-IP im WLAN/Firmennetz: 172.16.9.185
Lokale Test-URL: http://172.16.9.185:5000
```
IP des PCs ermitteln:
```powershell
ipconfig
```
Firewall-Regel einmalig in einer PowerShell "Als Administrator" anlegen:
```powershell
netsh advfirewall firewall add rule name="TrafagSalesExporter local web 5000" dir=in action=allow protocol=TCP localport=5000 profile=domain,private
```
Am 2026-05-21 wurde eine allgemeine Port-5000-Regel angelegt und danach auf alle Firewall-Profile erweitert:
```text
Regelname: Local Dev Web Port 5000
Aktiviert: Ja
Profile: Domaene, Privat, Oeffentlich
Protokoll: TCP
Lokaler Port: 5000
Aktion: Zulassen
```
Damit koennen spaeter auch andere lokale Entwicklungsprogramme auf Port 5000 von anderen Firmen-PCs erreicht werden, sofern sie an `0.0.0.0:5000` oder die konkrete PC-IP binden.
Pruefen:
```powershell
netsh advfirewall firewall show rule name="TrafagSalesExporter local web 5000"
```
Spaeter wieder entfernen:
```powershell
netsh advfirewall firewall delete rule name="TrafagSalesExporter local web 5000"
```
Hinweise:
- Die Firewall-Regel bleibt nach einem Windows-Neustart aktiv.
- Die Firewall-Regel bleibt normalerweise auch nach Windows-Updates aktiv.
- Da die Regel auf Domaene, Privat und Oeffentlich gilt, ist Port 5000 auch abgedeckt, wenn AlwaysOnVPN oder Windows das Netzwerk nicht als Domaenenprofil erkennt.
- Die App selbst startet nach einem Neustart nicht automatisch; `dotnet run ...` muss erneut gestartet werden.
- Die PC-IP kann sich nach Neustart, WLAN-Wechsel oder DHCP-Erneuerung aendern; dann `ipconfig` ausfuehren und die neue URL weitergeben.
- Der PC muss eingeschaltet bleiben und das PowerShell-Fenster muss offen bleiben.
- Nur im Firmennetz verwenden, nicht oeffentlich freigeben.
- Die lokale Uebergangs-URL ist bewusst HTTP, nicht HTTPS. Fuer diesen temporaeren internen Betrieb reicht das; lokales HTTPS waere moeglich, wuerde aber Zertifikats-/Trust-Aufwand fuer andere PCs verursachen.
- Finance Cockpit und HR KPI bleiben ueber ihre App-internen Logins geschuetzt.
- Wenn ein Finance-User im Buero die App ueber die VPN-IP des Entwicklungs-PCs trotzdem nicht erreicht, liegt es wahrscheinlich am AlwaysOnVPN-/Firmennetz-Routing. Das kann lokal auf dem PC nicht sicher freigeschaltet werden.
Serverbefund:
- Der IIS-Server fordert beim HTTPS/TLS-Handshake ein Client-Zertifikat (`RequestedClientCert=True`).
- Dadurch erreichen Requests weder `diag.txt` noch `BiDashboard.dll`.
- Marco/IT muss in IIS die SSL Settings pruefen und Client Certificates auf `Ignore` oder hoechstens `Accept` setzen, nicht `Require`.
## Markdown-Doku und Anwenderdokus nachgezogen 2026-05-20
Geaendert: