मुझे कुछ लिनक्स गुरुओं से कुछ मदद की ज़रूरत है। मैं एक वेबपैप पर काम कर रहा हूं जिसमें एक धूमकेतु सर्वर शामिल है। धूमकेतु सर्वर लोकहोस्ट पर चलता है: 8080 और यूआरएल लोकलहोस्ट का खुलासा करता है: ग्राहकों से कनेक्ट करने के लिए 8080/long_polling। मेरा वेबपैप लोकहोस्ट पर चलता है: 80।धूमकेतु के लिए nginx प्रॉक्सी
मैं धूमकेतु सर्वर से nginx से प्रॉक्सी अनुरोध करने के लिए nginx का उपयोग किया है, फिर भी, मैं इस समाधान के साथ दो शिकंजा है:
- nginx (स्थानीय होस्ट: 8080/long_polling: 80/long_polling स्थानीय होस्ट करने के लिए प्रॉक्सी) मुझे एक मिनट के बाद 504 गेटवे टाइम-आउट देता है, भले ही मैंने बदल दिया है, फिर भी से 600 सेकंड
- मैं वास्तव में नहीं चाहता कि nginx को धूमकेतु सर्वर पर प्रॉक्सी करना पड़े - nginx प्रॉक्सी है लंबे समय तक चलने वाले कनेक्शन (संभवतः आधे घंटे तक) के लिए नहीं बनाया गया है। मैं ग्राहकों को सीधे धूमकेतु सर्वर से कनेक्ट करने की अनुमति दूंगा, और धूमकेतु सर्वर को इसके साथ सौदा करने दें।
तो मेरे सवाल है: 8080/long_polling स्थानीय होस्ट करने के लिए: 80/long_polling nginx प्रॉक्सी का उपयोग किए बिना वहाँ किसी भी linux चाल है कि मुझे स्थानीय होस्ट का पर्दाफाश करने की अनुमति देता है? कुछ तो बात होगी। यही कारण है कि मुझे लगता है कि लिनक्स गुरु द्वारा शायद इस सवाल का सबसे अच्छा जवाब दिया जा सकता है।
पोर्ट 80 पर खुलासा करने के लिए मुझे/long_polling की आवश्यकता है इसलिए मैं AJAX का उपयोग इसे कनेक्ट करने के लिए कर सकता हूं (AJAX समान-मूल-नीति)।
इस संदर्भ के लिए मेरी nginx proxy.conf है:
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
send_timeout 600;
proxy_buffering off;
ठीक है, अगर nginx उस छोटी मात्रा में स्मृति का उपयोग करता है, तो मुझे इसके बाद nginx के साथ फ्रंट प्रॉक्सी सर्वर के रूप में काम करना अच्छा लगेगा। बस उस "504 गेटवे टाइम-आउट" त्रुटि से छुटकारा पाने की आवश्यकता है जो लगभग एक मिनट के बाद होती है (हमेशा 55 से 65 सेकंड के बाद होती है)। आपके उत्तर के लिए धन्यवाद। मैं एक COMET सर्वर के रूप में node.js का उपयोग कर रहा हूँ। – Chris