इसे छोड़कर कंटेंट पर जाएं

ऑरिजिन सर्वर के साथ एकीकरण

यह पृष्ठ दो एकीकरण चरणों को कवर करता है:

  1. प्रत्यक्ष एकीकरण — CDN एज सीधे ऑरिजिन सर्वर पर फॉरवर्ड करता है (बेसलाइन परीक्षण)
  2. F5 XC इन्सर्शन — CDN और ऑरिजिन के बीच F5 XC HTTP लोड बैलेंसर इन्सर्ट किया जाता है (सुरक्षा डेमो)

बेसलाइन स्थापित करने के लिए प्रत्यक्ष एकीकरण से शुरू करें, फिर तैयार होने पर F5 XC इन्सर्ट करें।

ऑरिजिन सर्वर संदर्भ

Section titled “ऑरिजिन सर्वर संदर्भ”

origin-server लैब घटक सुरक्षा परीक्षण के लिए कमज़ोर वेब एप्लिकेशन प्रदान करता है।

गुणमान
दस्तावेज़ीकरणf5-sales-demo.github.io/origin-server
रिपॉज़िटरीgithub.com/f5-sales-demo/origin-server
डिफ़ॉल्ट पोर्ट80
हेल्थ चेकGET /health

उपलब्ध एप्लिकेशन

Section titled “उपलब्ध एप्लिकेशन”

ऑरिजिन-सर्वर के प्रकाशित मेनिफेस्ट से वर्तमान एप्लिकेशन कैटलॉग प्राप्त करें:

Terminal window
MANIFEST_URL=$(curl -sf https://api.github.com/repos/f5-sales-demo/origin-server/releases/latest \
| python3 -c "import sys,json; assets=json.load(sys.stdin).get('assets',[]); print(next((a['browser_download_url'] for a in assets if a['name']=='manifest.json'),''))")
curl -sf "$MANIFEST_URL" | python3 -m json.tool

यदि अभी तक कोई रिलीज़ मौजूद नहीं है, तो रिपॉज़िटरी स्रोत का सीधे उपयोग करें:

Terminal window
curl -sf https://raw.githubusercontent.com/f5-sales-demo/origin-server/main/manifest.json | python3 -m json.tool

मेनिफेस्ट में सभी एप्लिकेशन पथ, हेल्थ चेक, कंटेनर इमेज और डेमो फ़ीचर मैपिंग सूचीबद्ध हैं।

पथएप्लिकेशनडेमो विशेषताएँ
/लैंडिंग पृष्ठ
/healthहेल्थ चेक
/juice-shop/OWASP Juice Shopवेब ऐप फ़ायरवॉल (WAF), Bot मानक रक्षा, API सुरक्षा
/dvwa/DVWAवेब ऐप फ़ायरवॉल (WAF), Bot मानक रक्षा
/vampi/VAmPIAPI सुरक्षा
/httpbin/httpbinनिदान
/whoami/whoamiहेडर सत्यापन
/csd-demo/CSD Demoक्लाइंट-साइड डिफेंस

चरण 1: प्रत्यक्ष एकीकरण (बेसलाइन)

Section titled “चरण 1: प्रत्यक्ष एकीकरण (बेसलाइन)”
┌──────────┐ ┌──────────────────────┐ ┌─────────────────────┐
│ Client │────▶│ CDN Edge (NGINX) │────▶│ Origin Server │
│ │ │ 20.65.90.112 │ │ 20.12.78.159 │
└──────────┘ │ 67+ CDN headers │ │ Juice Shop, DVWA, │
│ Disk cache │ │ VAmPI, httpbin, │
└──────────────────────┘ │ whoami, CSD Demo │
└─────────────────────┘

ऑरिजिन कॉन्फ़िगर करें

Section titled “ऑरिजिन कॉन्फ़िगर करें”

CDN एज NGINX कॉन्फ़िग में ऑरिजिन सर्वर IP सेट करें:

Terminal window
ssh azureuser@<CDN_EDGE_IP>
sudo sed -i 's|proxy_pass .*;|proxy_pass http://<ORIGIN_IP>;|' /etc/nginx/conf.d/cdn-edge.conf
sudo rm -rf /var/cache/nginx/cdn/*
sudo nginx -t && sudo systemctl reload nginx

या Terraform डिप्लॉय समय पर terraform.tfvars के माध्यम से सेट करें:

origin_server = "http://<ORIGIN_IP>"

सभी एप्लिकेशन सत्यापित करें

Section titled “सभी एप्लिकेशन सत्यापित करें”

CDN के माध्यम से प्रत्येक ऑरिजिन एप्लिकेशन का परीक्षण करें:

Terminal window
CDN=<CDN_EDGE_IP>
# Health check (CDN local)
curl -sf "http://$CDN/health" | python3 -m json.tool
# Landing page
curl -sf -o /dev/null -w "/ : HTTP %{http_code}\n" "http://$CDN/"
# Juice Shop
curl -sf -o /dev/null -w "/juice-shop/ : HTTP %{http_code}\n" "http://$CDN/juice-shop/"
# DVWA (follows redirect to login)
curl -sf -o /dev/null -w "/dvwa/ : HTTP %{http_code}\n" -L "http://$CDN/dvwa/"
# VAmPI API
curl -sf "http://$CDN/vampi/users/v1" | python3 -m json.tool | head -5
# httpbin headers (shows CDN headers in JSON)
curl -sf "http://$CDN/httpbin/headers" | python3 -m json.tool | head -10
# whoami (shows ALL headers the origin receives)
curl -sf "http://$CDN/whoami/"
# CSD Demo
curl -sf -o /dev/null -w "/csd-demo/ : HTTP %{http_code}\n" "http://$CDN/csd-demo/"

सभी पथों को HTTP 200 वापस करना चाहिए (DVWA फॉलो पर 302 फिर 200 लौटाता है)।

ऑरिजिन पर CDN हेडर सत्यापित करें

Section titled “ऑरिजिन पर CDN हेडर सत्यापित करें”

/whoami/ एंडपॉइंट हर वह हेडर दिखाता है जो ऑरिजिन को प्राप्त होता है। CDN के माध्यम से एक्सेस करने पर, यह सभी 67+ विक्रेता हेडर प्रदर्शित करता है:

Terminal window
curl -sf "http://$CDN/whoami/"

सत्यापित करें कि ये प्रमुख हेडर मौजूद हैं:

विक्रेताहेडरअपेक्षित मान
मानकX-Forwarded-For<your_ip>, <cdn_edge_ip>
AkamaiTrue-Client-Ip<your_ip>
CloudflareCf-Connecting-Ip<your_ip>
CloudFrontCloudfront-Viewer-CountryUS
FastlyFastly-Client-Ip<your_ip>
Azure FDX-Azure-Clientip<your_ip>

क्रॉस-रेफरेंस लॉग

Section titled “क्रॉस-रेफरेंस लॉग”

ट्रैफ़िक प्रवाह सत्यापित करने के लिए दोनों सर्वरों पर एक्सेस लॉग की तुलना करें:

Terminal window
# CDN edge log — shows your client IP as source
ssh azureuser@<CDN_EDGE_IP> "sudo tail -5 /var/log/nginx/access.log"
# Origin log — shows CDN edge IP as source
ssh azureuser@<ORIGIN_IP> "sudo tail -5 /var/log/nginx/access.log"

ऑरिजिन लॉग में CDN एज IP कनेक्टिंग क्लाइंट के रूप में दिखनी चाहिए, जबकि वास्तविक क्लाइंट IP X-Forwarded-For और विक्रेता-विशिष्ट हेडर में वहन की जाती है।

Terminal window
# First request — MISS (fetched from origin)
curl -s -I "http://$CDN/whoami/" | grep X-Cache-Status
# Second request — HIT (served from CDN cache)
curl -s -I "http://$CDN/whoami/" | grep X-Cache-Status

चरण 2: F5 XC इन्सर्शन (सुरक्षा डेमो)

Section titled “चरण 2: F5 XC इन्सर्शन (सुरक्षा डेमो)”

बेसलाइन परीक्षण के बाद, CDN और ऑरिजिन के बीच एक F5 XC HTTP लोड बैलेंसर इन्सर्ट करें:

┌──────────┐ ┌────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Client │────▶│ CDN Edge │────▶│ F5 XC HTTP LB │────▶│ Origin Server │
│ │ │ (NGINX) │ │ WAF + Bot + API │ │ │
└──────────┘ └────────────────┘ └──────────────────┘ └─────────────────┘
  1. F5 XC HTTP लोड बैलेंसर बनाएं जिसमें ऑरिजिन सर्वर उसके ऑरिजिन पूल में हो
  2. CDN एज अपडेट करें ताकि वह ऑरिजिन के बजाय F5 XC VIP की ओर संकेत करे:
Terminal window
ssh azureuser@<CDN_EDGE_IP>
sudo sed -i 's|proxy_pass .*;|proxy_pass https://<F5XC_LB_VIP>;|' /etc/nginx/conf.d/cdn-edge.conf
sudo rm -rf /var/cache/nginx/cdn/*
sudo nginx -t && sudo systemctl reload nginx
  1. पूरी चेन के माध्यम से WAF प्रवर्तन सत्यापित करें:
Terminal window
# SQL injection through CDN → F5 XC WAF should block
curl -I "http://$CDN/dvwa/vulnerabilities/sqli/?id=%27+OR+1%3D1--"
# Normal request should pass
curl -sf -o /dev/null -w "%{http_code}" "http://$CDN/juice-shop/"
  1. F5 XC में Trusted Client IP हेडर कॉन्फ़िगर करें ताकि CDN हेडर से वास्तविक क्लाइंट IP पढ़ी जा सके (उदाहरण के लिए, Akamai सिमुलेशन के लिए True-Client-IP, Cloudflare सिमुलेशन के लिए CF-Connecting-IP)

मल्टी-घटक आर्किटेक्चर

Section titled “मल्टी-घटक आर्किटेक्चर”
घटकरिपॉज़िटरीउद्देश्य
CDN Edge (यह)cdn-simulatorकैशिंग, विक्रेता हेडर
ऑरिजिन सर्वरorigin-serverकमज़ोर वेब ऐप
F5 XC Configविभिन्न (waf, api-protection, bot-*, आदि)सुरक्षा नीतियाँ

प्रत्येक घटक दस्तावेज़ीकरण प्रकाशित करता है जिसे AI सहायक इंफ्रास्ट्रक्चर डिप्लॉय करने के लिए पढ़ते हैं। ऑरिजिन-सर्वर एक एंडपॉइंट मेनिफेस्ट GitHub Release आर्टिफ़ेक्ट के रूप में प्रकाशित करता है जिसमें सभी एप्लिकेशन पथ और हेल्थ चेक सूचीबद्ध हैं।