Nginx के साथ मिररिंग ट्रैफ़िक


16

मुझे अपने सर्वर / संसाधन पर आने वाले ट्रैफ़िक को डुप्लिकेट / मिरर करने की आवश्यकता है।

मेरा मतलब है, मेरे पास सर्वर A और B और N (nginx) वेबसर्वर के रूप में हैं।

N / संसाधन के लिए आने वाला सभी ट्रैफ़िक -> A और B दोनों को रीडायरेक्ट करता है

क्या यह संभव है?


2
आप शायद ऐसा नहीं करना चाहते हैं। आप वास्तव में क्या करने की कोशिश कर रहे हैं?
माइकल हैम्पटन

1
मुझे वास्तव में इसे करने की आवश्यकता है
अगुस

2
मेरे पास एक उपयोग का मामला है। मेरे पास एक क्लाइंट है जो मेरे सर्वर के डेटा को धक्का दे रहा है जो हमारे उत्पादन ढांचे का उपयोग करता है। मुझे अपने देव सर्वरों को आगे विकास के लिए उसी सटीक डेटा की आवश्यकता है। ग्राहक केवल 1 समापन बिंदु पर डेटा भेजने में सक्षम है। मत पूछो क्यों, मुझे नहीं पता।
दोस्त

1
ओह मैं नकली यातायात की जरूरत है, मेरा मतलब है traficc एक से कार्रवाई करेंगे, लेकिन बी मेकअप ऑफ़लाइन प्रक्रिया recevid होगा
Agus

2
मुझे इस प्रश्न का एक और संस्करण मिला जिसमें एक उत्तर दिया गया था: serverfault.com/a/515531/175380 मूल रूप से, आपने एक post_actionनिर्देश में मिरर किए जाने वाले स्थान को सेट किया । यह उत्पादन मशीन द्वारा अनुरोध को पूरा करने के बाद चलेगा।
एडम लुकेंस

जवाबों:


14

Nginx में अब एक http दर्पण मॉड्यूल है। प्रलेखन https://nginx.org/en/docs/http/ngx_http_mirror_module.html पर है

प्रलेखन से उदाहरण विन्यास:

location / {
    mirror /mirror;
    proxy_pass http://backend;
}

location /mirror {
    internal;
    proxy_pass http://test_backend$request_uri;
}

क्या कोई तरीका है कि मैं एक दर्पण का उपयोग कर सकता हूं, भले ही मेजबान में से एक नीचे हो, मेरे पास उसके लिए उपयोग का मामला है।
सागर खरब

3

यहाँ nginx (1.13.4) से नई सुविधा है: http://nginx.org/en/docs/http/ngx_http_mirror_module.html#mirror

Ngx_http_mirror_module मॉड्यूल (1.13.4) पृष्ठभूमि दर्पण सबरेक्स्ट बनाकर एक मूल अनुरोध के प्रतिबिंब को लागू करता है। मिरर सबरेक्शन्स की प्रतिक्रियाओं को नजरअंदाज किया जाता है।


2

उनके README के आधार पर ऐसा लगता है कि GOR आपकी समस्या को हल करने में आपकी मदद कर सकता है।

मैंने पहले कभी इसका इस्तेमाल नहीं किया, बस इस हफ्ते इस पर ठोकर खाई, इसलिए शुभकामनाएं!


अरे GOR का उपयोग करने पर यह केवल एक http 200 के साथ स्वीकार करता है। इसलिए यदि उसके पास प्रतिक्रिया वस्तु या मान्यता है, तो वह चाहता है कि ग्राहक उसे क्या भेज रहा है, मुझे नहीं लगता कि यह उसके लिए काम करेगा। जहां तक ​​मैं बता सकता हूं, और मैं गोर से नया हूं, आप अपने किसी आउटपुट सेगमेंट के परिणाम ऑब्जेक्ट पर पास नहीं हो सकते।
पैट्रिकवल्कर

हम अभी GOR का परीक्षण कर रहे हैं और हमारे पास कुछ समस्याएं हैं। यह हेडर की व्याख्या करता है जैसे: स्थान: // newpath जनरेटिंग अनुरोध जैसे GET // newpath। ढीले मूल हेडर (होस्ट उपयोगकर्ता सहित आदि) को रीडायरेक्ट करता है। हम दूसरे टूल में माइग्रेट कर रहे हैं।
Aalex Gabi

1

आप NGINX के साथ अनुरोधों को प्रतिबिंबित नहीं कर सकते, लेकिन अनुरोध एक चर के रूप में उपलब्ध है। यद्यपि आप एक उप अनुरोध के रूप में उस चर को तीसरे पक्ष के सर्वर पर भेजने के लिए लुआ स्क्रिप्टिंग का उपयोग कर सकते हैं। http://nginx.org/en/docs/http/ngx_http_core_module.html#var_request


0

खुदाई और खुदाई के बाद मुझे एक समाधान मिला। आप इसे यहाँ देख सकते हैं कॉपी करें और @scari द्वारा वास्तविक ट्रैफ़िक परीक्षण के लिए किसी अन्य nginx सर्वर के लिए अनुरोध करें

बस मैंने सोचा कि अन्य लोगों की खोज को आसान बनाने के लिए मुझे इसका उल्लेख करना चाहिए। अपने सेटअप पर मैंने uwsgi का उपयोग नहीं किया - इसके बजाय मैं हर आने वाले अनुरोध को एक अतिरिक्त सर्वर (बैकबोन सर्वर के अलावा जो पहले से ही संतुलित था, को डुप्लिकेट करना चाहता था।

आशा है कि यह मदद करेगा,
लिरोन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.