🛠️ Zlecenie: Naprawa niedziałającego API Flask uruchamianego przez Gunicorn i serwowanego przez Apache
🛠️ Zlecenie: Naprawa niedziałającego API Flask uruchamianego przez Gunicorn i serwowanego przez Apache
Opis problemu:
System został skonfigurowany w architekturze:
Apache jako reverse proxy
Gunicorn do uruchamiania aplikacji Flask
Flask API (python)z endpointami pod /api/...
Firebase Admin SDK do komunikacji z Firestore
Aktualna sytuacja po diagnozie:
Komponent Status Uwagi
Apache static ✅ Działa /datastream działa zgodnie z oczekiwaniami.
Gunicorn Flask API ⚠️ Niedostępny Brak odpowiedzi API pod /api/....
Firebase Admin SDK ✅ Działa Połączenie z Firestore przetestowane – działa poprawnie.
Flask endpoints ✅ Działają lokalnie Aplikacja działa lokalnie na porcie np. localhost:5000, ale nie przez Apache.
Cel:
Skonfigurować poprawnie serwowanie API Flask przez Apache i Gunicorn, tak aby endpointy dostępne były pod /api/....
Wymagania:
Sprawdzić konfigurację Gunicorna (plik uruchomieniowy / usługa systemd).
Zweryfikować plik konfiguracyjny Apache (.conf) – czy reverse proxy jest poprawnie ustawione na port Gunicorna.
Sprawdzić, czy aplikacja Flask ma @app.route("/api/...") i odpowiada na żądania.
Upewnić się, że Gunicorn działa – np. systemctl status gunicorn, ps aux | grep gunicorn.
Sprawdzić logi Apache i Gunicorna w celu identyfikacji błędów.
Środowisko:
System operacyjny: Ubuntu 20.04 LTS
Serwer HTTP: Apache 2.4
Backend: Python 3.10, Flask, Gunicorn
Firebase Admin SDK zainstalowany i działający (dostęp do Firestore potwierdzony)
Dostępne dane:
Aplikacja lokalnie działa poprawnie (np. flask run).
Apache poprawnie serwuje zasoby statyczne pod /datastream.
Efekt końcowy:
Po zakończeniu prac, aplikacja API powinna być dostępna pod adresem na produkcji: