- होम
- ऑरिजिन सर्वर
- एकीकृत करें
एकीकृत करें
F5 XC ऑरिजिन पूल एकीकरण
Section titled “F5 XC ऑरिजिन पूल एकीकरण”यह ऑरिजिन सर्वर एक F5 Distributed Cloud HTTP लोड बैलेंसर के पीछे ऑरिजिन पूल सदस्य के रूप में उपयोग किए जाने के लिए डिज़ाइन किया गया है। F5 XC प्लेटफ़ॉर्म इस ऑरिजिन के सामने वेब ऐप फ़ायरवॉल (WAF), Bot Defense, API सुरक्षा, और क्लाइंट-साइड डिफेंस प्रदान करता है।
आर्किटेक्चर
Section titled “आर्किटेक्चर”End User -> F5 XC HTTP LB (WAF/Bot/API/CSD) -> Origin Server VM (nginx -> Docker apps)ऑरिजिन पूल कॉन्फ़िगरेशन
Section titled “ऑरिजिन पूल कॉन्फ़िगरेशन”इस VM के सार्वजनिक IP की ओर इंगित करते हुए एक F5 XC ऑरिजिन पूल बनाएं:
| सेटिंग | मान |
|---|---|
| ऑरिजिन सर्वर प्रकार | ऑरिजिन सर्वर का सार्वजनिक IP |
| IP पता | <terraform output public_ip> |
| पोर्ट | 80 |
| हेल्थ चेक | HTTP, पाथ /health |
HTTP लोड बैलेंसर कॉन्फ़िगरेशन
Section titled “HTTP लोड बैलेंसर कॉन्फ़िगरेशन”ऑरिजिन पूल के साथ एक HTTP लोड बैलेंसर बनाएं:
| सेटिंग | मान |
|---|---|
| डोमेन | आपका डेमो डोमेन (जैसे, demo.example.com) |
| ऑरिजिन पूल | ऊपर बनाया गया पूल |
| WAF | अपनी WAF नीति संलग्न करें |
| Bot Defense | आवश्यकतानुसार सक्षम करें |
| API Discovery | VAmPI एंडपॉइंट के लिए सक्षम करें |
पाथ-आधारित रूटिंग
Section titled “पाथ-आधारित रूटिंग”प्रत्येक एप्लिकेशन लोड बैलेंसर के माध्यम से अपने पाथ प्रीफ़िक्स के द्वारा सुलभ है:
| F5 XC LB URL | ऑरिजिन पाथ | एप्लिकेशन |
|---|---|---|
https://demo.example.com/juice-shop/ | /juice-shop/ | Juice Shop (4 इंस्टेंस, cookie sticky) |
https://demo.example.com/dvwa/ | /dvwa/ | DVWA (4 इंस्टेंस + MariaDB, cookie sticky) |
https://demo.example.com/vampi/ | /vampi/ | VAmPI (4 इंस्टेंस, ip_hash sticky) |
https://demo.example.com/httpbin/ | /httpbin/ | httpbin (4 इंस्टेंस, round-robin) |
https://demo.example.com/whoami/ | /whoami/ | अनुरोध डायग्नोस्टिक्स (4 इंस्टेंस) |
https://demo.example.com/csd-demo/ | /csd-demo/ | CSD Demo (4 इंस्टेंस, ip_hash sticky) |
https://demo.example.com/dvga/ | /dvga/ | DVGA (4 इंस्टेंस, ip_hash sticky) |
https://demo.example.com/restaurant/ | /restaurant/ | RESTaurant (4 इंस्टेंस, round-robin) |
https://demo.example.com/health | /health | हेल्थ चेक (nginx direct) |
F5 XC हेडर इंजेक्शन सत्यापित करें
Section titled “F5 XC हेडर इंजेक्शन सत्यापित करें”whoami एंडपॉइंट का उपयोग करके सत्यापित करें कि F5 XC ऑरिजिन तक पहुँचने वाले अनुरोधों में कौन से हेडर इंजेक्ट करता है:
LB_DOMAIN="demo.example.com"
curl -sk "https://${LB_DOMAIN}/whoami/"प्रतिक्रिया में इन F5 XC इंजेक्टेड हेडर की तलाश करें:
| हेडर | अर्थ |
|---|---|
X-Forwarded-For | F5 XC के माध्यम से क्लाइंट IP चेन |
True-Client-IP | मूल क्लाइंट IP |
X-Forwarded-Proto | https यदि TLS F5 XC पर समाप्त होता है |
X-Volterra-Bot-Type | Bot वर्गीकरण (जब Bot Defense सक्षम हो) |
X-Request-ID | F5 XC अनुरोध ट्रैकिंग ID |
F5 XC के माध्यम से WAF परीक्षण
Section titled “F5 XC के माध्यम से WAF परीक्षण”HTTP लोड बैलेंसर से जुड़ी WAF नीति के साथ, अटैक पेलोड का परीक्षण करें:
LB_DOMAIN="demo.example.com"
# SQL Injection (WAF द्वारा ब्लॉक किया जाना चाहिए)curl -sk "https://${LB_DOMAIN}/dvwa/vulnerabilities/sqli/?id=%27+OR+1%3D1--&Submit=Submit"
# XSS (WAF द्वारा ब्लॉक किया जाना चाहिए)curl -sk "https://${LB_DOMAIN}/juice-shop/rest/products/search?q=<script>alert(1)</script>"
# Command Injection (WAF द्वारा ब्लॉक किया जाना चाहिए)curl -sk "https://${LB_DOMAIN}/dvwa/vulnerabilities/exec/" \ -d "ip=127.0.0.1;cat+/etc/passwd&Submit=Submit"
# सामान्य अनुरोध (पास होना चाहिए)curl -sk "https://${LB_DOMAIN}/httpbin/get" | jq .API सुरक्षा परीक्षण
Section titled “API सुरक्षा परीक्षण”VAmPI के API एंडपॉइंट को मैप करने के लिए HTTP लोड बैलेंसर पर API Discovery सक्षम करें:
# ये अनुरोध F5 XC में API इन्वेंटरी बनाते हैंcurl -sk "https://${LB_DOMAIN}/vampi/users/v1"curl -sk -X POST "https://${LB_DOMAIN}/vampi/users/v1/register" \ -H "Content-Type: application/json" \ -d '{"username":"apitest","password":"test123","email":"api@test.com"}'curl -sk -X POST "https://${LB_DOMAIN}/vampi/users/v1/login" \ -H "Content-Type: application/json" \ -d '{"username":"apitest","password":"test123"}'crAPI एकीकरण (पोर्ट 8888)
Section titled “crAPI एकीकरण (पोर्ट 8888)”crAPI एक समर्पित पोर्ट (8888) पर चलता है क्योंकि यह एक सिंगल-पेज एप्लिकेशन है जो अपने API पाथ को हार्डकोड करता है और पाथ प्रीफ़िक्स के पीछे सर्व नहीं किया जा सकता। crAPI को F5 XC के साथ एकीकृत करने के लिए:
| सेटिंग | मान |
|---|---|
| ऑरिजिन सर्वर प्रकार | ऑरिजिन सर्वर का सार्वजनिक IP |
| IP पता | <terraform output public_ip> |
| पोर्ट | 8888 |
| हेल्थ चेक | HTTP, पाथ / |
पोर्ट 8888 पर crAPI के लिए एक अलग ऑरिजिन पूल बनाएं, या पोर्ट 8888 के साथ अपने मौजूदा पूल में दूसरा ऑरिजिन पूल सदस्य जोड़ें और ट्रैफ़िक निर्देशित करने के लिए रूट नियमों का उपयोग करें:
# F5 XC के माध्यम से crAPI का परीक्षण करें (यदि कॉन्फ़िगर किया गया है)curl -sk "https://${LB_DOMAIN}:8888/"
# या यदि उसी LB डोमेन पर रूट नियमों का उपयोग कर रहे हैं:# Host हेडर या पाथ प्रीफ़िक्स से मिलान करने वाला एक F5 XC रूट नियम कॉन्फ़िगर करें# crAPI ऑरिजिन पूल (पोर्ट 8888) को ट्रैफ़िक अग्रेषित करने के लिएस्टिकी सेशन जागरूकता
Section titled “स्टिकी सेशन जागरूकता”ऑरिजिन सर्वर स्टेटफुल एप्लिकेशन को सुसंगत बैकएंड कंटेनर में रूट करने के लिए आंतरिक रूप से nginx स्टिकी सेशन का उपयोग करता है। F5 XC HTTP लोड बैलेंसर कॉन्फ़िगर करते समय, ध्यान रखें:
| एप्लिकेशन | स्टिकी विधि | कारण |
|---|---|---|
| Juice Shop | hash $cookie_token | Node.js सेशन स्टेट |
| DVWA | hash $cookie_PHPSESSID | PHP सेशन स्टेट |
| VAmPI | ip_hash | प्रति इंस्टेंस SQLite डेटाबेस |
| CSD Demo | ip_hash | प्रति इंस्टेंस इन-मेमोरी एक्सफिल लॉग |
| DVGA | ip_hash | प्रति इंस्टेंस SQLite डेटाबेस |
| RESTaurant | Round-robin | साझा PostgreSQL बैकएंड |
| crAPI | — (सिंगल पोर्ट 8888) | 7 माइक्रोसर्विस, PostgreSQL + MongoDB |
| httpbin | Round-robin | स्टेटलेस |
| whoami | Round-robin | स्टेटलेस |
F5 XC को इन स्टिकी सेशन को दोहराने की आवश्यकता नहीं है — ऑरिजिन VM पर nginx बैकएंड रूटिंग को संभालता है। F5 XC को ऑरिजिन को एकल एंडपॉइंट (पोर्ट 80 पर VM का सार्वजनिक IP) के रूप में मानना चाहिए।
मल्टी-कॉम्पोनेंट आर्किटेक्चर
Section titled “मल्टी-कॉम्पोनेंट आर्किटेक्चर”CDN सिम्युलेटर के साथ संयुक्त होने पर, पूर्ण लैब आर्किटेक्चर इस प्रकार है:
End User -> CDN Simulator (nginx cache) -> F5 XC HTTP LB -> Origin Server (this component)CDN सिम्युलेटर F5 XC HTTP लोड बैलेंसर VIP को अपने ऑरिजिन के रूप में उपयोग करता है, और F5 XC लोड बैलेंसर इस ऑरिजिन सर्वर को अपने बैकएंड के रूप में उपयोग करता है। यह व्यापक परीक्षण के लिए एक यथार्थवादी बहु-स्तरीय आर्किटेक्चर बनाता है।