From 6b3dc2de60becaa2b13d75854cd3071aa22fb7e7 Mon Sep 17 00:00:00 2001 From: metacube Date: Thu, 21 May 2026 13:07:07 +0200 Subject: [PATCH] Document local dev server fallback --- .../Properties/launchSettings.json | 4 +- .../LOCAL_DEV_SERVER_UEBERGANG_2026-05-21.md | 158 ++++++++++++++++++ .../docs/MD_DOKUMENTENSTATUS_2026-05-20.md | 1 + TrafagSalesExporter/lastchange.md | 89 ++++++++++ 4 files changed, 250 insertions(+), 2 deletions(-) create mode 100644 TrafagSalesExporter/docs/LOCAL_DEV_SERVER_UEBERGANG_2026-05-21.md diff --git a/TrafagSalesExporter/Properties/launchSettings.json b/TrafagSalesExporter/Properties/launchSettings.json index 0626a9f..695a08d 100644 --- a/TrafagSalesExporter/Properties/launchSettings.json +++ b/TrafagSalesExporter/Properties/launchSettings.json @@ -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" } } -} \ No newline at end of file +} diff --git a/TrafagSalesExporter/docs/LOCAL_DEV_SERVER_UEBERGANG_2026-05-21.md b/TrafagSalesExporter/docs/LOCAL_DEV_SERVER_UEBERGANG_2026-05-21.md new file mode 100644 index 0000000..408604a --- /dev/null +++ b/TrafagSalesExporter/docs/LOCAL_DEV_SERVER_UEBERGANG_2026-05-21.md @@ -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://: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://: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/ +``` diff --git a/TrafagSalesExporter/docs/MD_DOKUMENTENSTATUS_2026-05-20.md b/TrafagSalesExporter/docs/MD_DOKUMENTENSTATUS_2026-05-20.md index 18e5d5e..db2a335 100644 --- a/TrafagSalesExporter/docs/MD_DOKUMENTENSTATUS_2026-05-20.md +++ b/TrafagSalesExporter/docs/MD_DOKUMENTENSTATUS_2026-05-20.md @@ -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 | diff --git a/TrafagSalesExporter/lastchange.md b/TrafagSalesExporter/lastchange.md index 7effb40..d6173fa 100644 --- a/TrafagSalesExporter/lastchange.md +++ b/TrafagSalesExporter/lastchange.md @@ -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://: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: