Reverse Proxy
Fluxheim को application server के सामने रखें। Fluxheim TLS, हेडर, सीमाएँ और upstream चयन संभालता है।
Basic proxy
[[vhosts]]
name = "app"
hosts = ["app.example.com"]
[[vhosts.routes]]
path_prefix = "/"
action = "proxy"
upstreams = ["127.0.0.1:3000"]
route choices
| फीचर | इसका उपयोग तब करें जब |
|---|---|
path_exact | एक URL को precise route चाहिए. |
path_prefix | एक संपूर्ण URL उपवृक्ष एक बैकएंड पर जाता है। |
strip_prefix | बैकएंड को सार्वजनिक उपसर्ग नहीं देखना चाहिए। |
rewrite_prefix | बैकएंड एक भिन्न आंतरिक उपसर्ग की अपेक्षा करता है। |
methods | किसी रूट को केवल चयनित HTTP विधियों को स्वीकार करना चाहिए। |
पथ पुनर्लेखन उदाहरण
[[vhosts.routes]]
name = "api"
path_prefix = "/api/"
strip_prefix = "/api/"
rewrite_prefix = "/internal/"
[vhosts.routes.proxy]
upstreams = ["10.0.0.20:8080"]
connect_timeout_secs = 5
read_timeout_secs = 30
send_timeout_secs = 30
ब्राउज़र ऐप्स के लिए CORS
CORS को केवल तभी सक्षम करें जब ज्ञात मूल पर ब्राउज़र एप्लिकेशन को इस मार्ग को कॉल करना होगा।
[headers.cors]
enabled = true
allow_origins = ["https://app.example.com"]
allow_methods = ["GET", "HEAD", "POST"]
allow_headers = ["authorization", "content-type"]
allow_credentials = true
max_age_secs = 600
- Fluxheim वैध प्रीफ्लाइट अनुरोधों का स्थानीय रूप से उत्तर देता है; अस्वीकृत प्रीफ्लाइट अनुप्रयोग तक पहुँचे बिना
403लौटाते हैं। - वाइल्डकार्ड मूल को क्रेडेंशियल्स के साथ न जोड़ें।
- CORS प्रमाणीकरण, प्राधिकरण, या CSRF सुरक्षा नहीं है।
उत्पादन नोट्स
- एप्लिकेशन को लूपबैक या निजी नेटवर्क पर रखें।
- अपलोड प्रदर्शित करने से पहले अनुरोध निकाय सीमाएँ निर्धारित करें।
- Use trusted proxy settings only for networks you control.
- Prefer explicit routes over one large fallback when different paths need different सुरक्षितty rules.