### fix: verbessere CORS-Konfiguration und DNS-Verifizierung
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m47s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m55s

- **GlobalSecurityConfig:** Optimierung von `allowedOriginPatterns` und Hinzufügen von `exposedHeaders`.
- **UI:** Aktualisierung des Versionsmarkers auf `v2026-04-23.20 - CLOUDFLARE DNS VERIFIED`.
- **Docs:** Hinzufügen eines Screenshots zur Cloudflare-DNS-Analyse.
This commit is contained in:
Stefan Mogeritsch 2026-04-23 12:43:35 +02:00
parent df5276abf2
commit 16c8674eff
4 changed files with 13 additions and 3 deletions

View File

@ -90,10 +90,13 @@ class GlobalSecurityConfig {
"http://localhost:4000" "http://localhost:4000"
) )
configuration.allowedOriginPatterns = listOf( configuration.allowedOriginPatterns = listOf(
"*" "https://*.mo-code.at",
"http://localhost:[*]"
) )
configuration.allowedMethods = listOf("GET", "POST", "PUT", "DELETE", "OPTIONS") configuration.allowedMethods = listOf("GET", "POST", "PUT", "DELETE", "OPTIONS", "HEAD")
configuration.allowedHeaders = listOf("*") configuration.allowedHeaders = listOf("*")
configuration.exposedHeaders = listOf("Authorization", "Content-Type")
configuration.maxAge = 3600L
configuration.allowCredentials = true configuration.allowCredentials = true
val source = UrlBasedCorsConfigurationSource() val source = UrlBasedCorsConfigurationSource()
source.registerCorsConfiguration("/**", configuration) source.registerCorsConfiguration("/**", configuration)

View File

@ -64,3 +64,10 @@ Die "Hallo Du!" Test-UI wurde durch produktive, fachlich korrekte Formulare erse
- Implementierung einer `WebMvcConfigurer` Bean direkt in `MailServiceApplication.kt` für ein zweites, redundantes CORS-Mapping. - Implementierung einer `WebMvcConfigurer` Bean direkt in `MailServiceApplication.kt` für ein zweites, redundantes CORS-Mapping.
- Lockerung der `allowedOriginPatterns` in `GlobalSecurityConfig.kt` auf `*`. - Lockerung der `allowedOriginPatterns` in `GlobalSecurityConfig.kt` auf `*`.
- **Status**: Versionsmarker auf v19 aktualisiert. - **Status**: Versionsmarker auf v19 aktualisiert.
### v2026-04-23.20 - CLOUDFLARE DNS VERIFIED & CORS POLISHING
- **Analyse**: DNS-Einträge in Cloudflare geprüft (Screenshot). Alle Einträge stehen auf "Nur DNS" (graue Wolke). Cloudflare-Proxy ist inaktiv, daher kann Cloudflare keine CORS-Probleme verursachen.
- **Lösung**:
- CORS-Konfiguration in `GlobalSecurityConfig.kt` finalisiert: Whitelist für `https://*.mo-code.at` und `http://localhost:[*]` verfeinert.
- `allowedMethods` um `HEAD` erweitert und `exposedHeaders` hinzugefügt, um Browser-Warnungen zu eliminieren.
- **Status**: Versionsmarker auf v2026-04-23.20 aktualisiert.

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

View File

@ -124,7 +124,7 @@ fun MainAppContent() {
// Dezentraler Versions-Marker in der unteren rechten Ecke // Dezentraler Versions-Marker in der unteren rechten Ecke
Box(modifier = Modifier.fillMaxSize().padding(8.dp), contentAlignment = Alignment.BottomEnd) { Box(modifier = Modifier.fillMaxSize().padding(8.dp), contentAlignment = Alignment.BottomEnd) {
Text( Text(
text = "v2026-04-23.19 - NUCLEAR CORS FIX", text = "v2026-04-23.20 - CLOUDFLARE DNS VERIFIED",
style = MaterialTheme.typography.labelSmall, style = MaterialTheme.typography.labelSmall,
color = Color.LightGray.copy(alpha = 0.5f) color = Color.LightGray.copy(alpha = 0.5f)
) )