ডকুমেন্টেশননিরাপত্তা এবং স্থাপনা
মিডলওয়্যার এবং নিরাপত্তা
Nexy FastAPI এবং Starlette এ চলে, তাই তাদের মিডলওয়্যার প্রযোজ্য। সাধারণগুলি 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"}প্রতিটি use* ডিকশনারি কিওয়ার্ড আর্গুমেন্ট হিসেবে মেলে Starlette মিডলওয়্যার: CORSMiddleware, GZipMiddleware, TrustedHostMiddleware, SessionMiddleware।
আপনার নিজের মিডলওয়্যার
from my_app.middleware import RequestIdMiddleware class NexyConfig(NexyConfigModel): useMiddlewares = [RequestIdMiddleware]useMiddlewares ASGI মিডলওয়্যার ক্লাস নেয়।
HTTPS
HTTPS-কে সরাসরি useSslKeyfile এবং useSslCertfile দিয়ে পরিবেশন করুন, অথবা বিপরীত প্রক্সিতে TLS বন্ধ করুন এবং useHTTPSRedirect সেট করুন। ডেভেলপমেন্টে Vite ডেভ সার্ভার নেক্সি অরিজিনের পিছনে লুপব্যাক HTTP-তে থাকে, তাই TLS কখনই এটিতে পৌঁছায় না।
উত্পাদন চেকলিস্ট
useDocs = Falseযদি OpenAPI স্কিমা সর্বজনীন হওয়া উচিত নয়।useTrustedHostহোস্ট-হেডার আক্রমণ ব্লক করতে আপনার ডোমেনে সেট করুন।useCORSস্পষ্ট উত্স সহ, শংসাপত্রের সাথে কখনই["*"]একসাথে নয়।- সেশনের জন্য একটি বাস্তব
secret_key, পরিবেশ থেকে পড়া। - ক্লায়েন্ট উপাদানগুলিতে পাস করা প্রপগুলি Nexy দ্বারা HTML-এস্কেপ করা হয়৷ টেমপ্লেটগুলিতে ব্যবহারকারীর ইনপুট
| safeচিহ্নিত করবেন না।
প্রহরী এবং নির্ভরতা
প্রতি-রুট সুরক্ষা FastAPI নির্ভরতা ব্যবহার করে। একটি রুট ডিরেক্টরিতে একটি dependencies.py এটির নীচের সমস্ত কিছুতে প্রযোজ্য: নির্ভরতা দেখুন। মডুলার রাউটারে @UseGuard ব্যবহার করুন।
পরবর্তী পদক্ষেপ
- কনফিগ: প্রতিটি মিডলওয়্যার ক্ষেত্র
- মোতায়েন
- কর্মক্ষমতা