# DHL Live-Server SSL-Problem - Erweiterte Lösung ## Problem Der SSL-Fehler `cURL error 56: OpenSSL SSL_read: error:0A000126:SSL routines::unexpected eof while reading` tritt nur auf dem Live-Server auf, nicht auf dem Testserver. ## Erweiterte Lösung implementiert ### 1. Multi-Methoden-Fallback Die `DhlClient` Klasse versucht jetzt automatisch mehrere Verbindungsmethoden: 1. **Enhanced SSL** - Optimierte SSL-Konfiguration mit HTTP/2 2. **Relaxed SSL** - Fallback mit deaktivierter SSL-Verifikation 3. **Direct cURL** - Direkte cURL-Implementierung als letzter Ausweg ### 2. Erweiterte Debug-Logs - Server-Umgebungsinformationen werden automatisch geloggt - Detaillierte Fehlermeldungen für jede Verbindungsmethode - PHP, cURL und OpenSSL-Versionsinformationen ### 3. Live-Server-spezifische Konfiguration #### Für problematische Live-Server (.env): ```env # DHL Live-Konfiguration mit SSL-Fallback DHL_BASE_URL=https://api-eu.dhl.com DHL_TEST_MODE=false DHL_SANDBOX=false # SSL-Fallback-Optionen für Live-Server DHL_SSL_VERIFY_PEER=false DHL_SSL_VERIFY_HOST=false DHL_SSL_VERSION=TLSv1_2 DHL_TIMEOUT=30 DHL_CONNECT_TIMEOUT=15 # Ihre Live-Daten DHL_API_KEY=your_live_api_key DHL_USERNAME=your_live_username DHL_PASSWORD=your_live_password ``` ### 4. Test der erweiterten Lösung ```bash # Konfiguration neu laden php artisan config:clear # Test mit Debug-Logs php artisan tinker ``` ```php $settingController = new \App\Http\Controllers\SettingController(); $dhlConfig = $settingController->getDhlConfig(); $dhlClient = new \Acme\Dhl\Support\DhlClient( $dhlConfig['base_url'], $dhlConfig['api_key'], $dhlConfig['username'], $dhlConfig['password'] ); // Test mit erweiterten Debug-Logs $result = $dhlClient->testConnection(); echo $result ? 'SUCCESS' : 'FAILED'; ``` ### 5. Log-Analyse Nach dem Test finden Sie in den Laravel-Logs (`storage/logs/laravel.log`): - **Server Environment Debug Info** - Umgebungsdetails - **DHL API connection test - trying [Method]** - Jede versuchte Methode - **DHL API connection test successful with [Method]** - Erfolgreiche Methode - **DHL API connection test failed with [Method]** - Fehlgeschlagene Methoden ### 6. Häufige Live-Server-Probleme #### Problem: Ältere OpenSSL-Version ```env DHL_SSL_VERSION=TLSv1_1 ``` #### Problem: Firewall/Proxy ```env DHL_TIMEOUT=60 DHL_CONNECT_TIMEOUT=30 ``` #### Problem: SSL-Zertifikatsprobleme ```env DHL_SSL_VERIFY_PEER=false DHL_SSL_VERIFY_HOST=false ``` ### 7. Monitoring Die Lösung loggt automatisch: - Welche Verbindungsmethode erfolgreich war - Server-Umgebungsdetails - Detaillierte Fehlermeldungen ### 8. Rollback-Option Falls die erweiterte Lösung Probleme verursacht, können Sie zur ursprünglichen Version zurückkehren, indem Sie die `testConnection()` Methode in `DhlClient.php` vereinfachen. ## Wichtige Hinweise - Die Lösung ist vollständig abwärtskompatibel - Alle bestehenden Konfigurationen funktionieren weiterhin - Die Fallback-Methoden werden nur bei Bedarf verwendet - Debug-Logs helfen bei der Problemdiagnose