DokuSicherheit und Bereitstellung
Middleware und Sicherheit
Nexy läuft auf FastAPI und Starlette, daher gilt deren Middleware. Die häufigsten sind eine Zeile in nexyconfig.py.
from nexy.core.models import NexyConfigModel class NexyConfig(NexyConfigModel): useCORS = { "allow_origins": ["https://app.example.com"], "allow_methods": ["GET", "POST"], "allow_credentials": True, } useGZip = {"minimum_size": 1000} useTrustedHost = {"allowed_hosts": ["example.com", "*.example.com"]} useHTTPSRedirect = True useSession = {"secret_key": "change-me"}Jedes use*-Wörterbuch wird als Schlüsselwortargumente an die passende Starlette-Middleware übergeben: CORSMiddleware, GZipMiddleware, TrustedHostMiddleware, SessionMiddleware.
Ihre eigene Middleware
from my_app.middleware import RequestIdMiddleware class NexyConfig(NexyConfigModel): useMiddlewares = [RequestIdMiddleware]useMiddlewares nimmt ASGI-Middleware-Klassen an.
HTTPS
Stellen Sie HTTPS direkt mit useSslKeyfile und useSslCertfile bereit oder beenden Sie TLS an einem Reverse-Proxy und legen Sie useHTTPSRedirect fest. In der Entwicklung bleibt der Vite-Entwicklungsserver auf Loopback-HTTP hinter dem Nexy-Ursprung, sodass TLS ihn nie erreicht.
Checkliste für die Produktion
useDocs = False, wenn das OpenAPI-Schema nicht öffentlich sein soll.useTrustedHostauf Ihre Domains eingestellt, um Host-Header-Angriffe zu blockieren.useCORSmit expliziter Herkunft, niemals["*"]zusammen mit Anmeldeinformationen.- Ein echtes
secret_keyfür Sitzungen, gelesen aus der Umgebung. - An Client-Komponenten übergebene Requisiten werden von Nexy mit HTML-Escapezeichen versehen. Markieren Sie Benutzereingaben nicht als
| safein Vorlagen.
Wachen und Abhängigkeiten
Der Schutz pro Route verwendet FastAPI Abhängigkeiten. Ein dependencies.py in einem Routenverzeichnis gilt für alles darunter: siehe Abhängigkeiten. Verwenden Sie im modularen Router @UseGuard.
Nächste Schritte
- Konfiguration: jedes Middleware-Feld
- Bereitstellen
- Leistung