Enable HTTPS production deployment on Sinbad2 via Apache reverse proxy.

This commit is contained in:
Mireya Cueto Garrido
2026-06-03 10:41:02 +02:00
parent 31be326f2c
commit cccbe15275
22 changed files with 264 additions and 28 deletions
+41
View File
@@ -0,0 +1,41 @@
import os
from functools import lru_cache
def _split_csv(value: str | None) -> list[str]:
if not value:
return []
return [item.strip() for item in value.split(",") if item.strip()]
class Settings:
ENVIRONMENT: str = os.getenv("ENVIRONMENT", "development")
SECURITY_HSTS_SECONDS: int = int(os.getenv("SECURITY_HSTS_SECONDS", "31536000"))
@property
def is_production(self) -> bool:
return self.ENVIRONMENT.strip().lower() == "production"
@property
def cors_allowed_origins(self) -> list[str]:
configured = _split_csv(os.getenv("CORS_ALLOWED_ORIGINS"))
if configured:
return configured
if self.is_production:
frontend = os.getenv("FRONTEND_URL", "").rstrip("/")
return [frontend] if frontend else []
return ["*"]
@property
def trusted_hosts(self) -> list[str]:
configured = _split_csv(os.getenv("TRUSTED_HOSTS"))
if configured:
return configured
if self.is_production:
return ["sinbad2.ujaen.es"]
return ["*"]
@lru_cache
def get_settings() -> Settings:
return Settings()