मेरे पास nginx उसी मशीन पर चल रहे किसी HTTP सर्वर पर https ट्रैफ़िक प्रॉक्सी करने के लिए कॉन्फ़िगर किया गया है।Nginx प्रॉक्सी https से http?
जब मैं https पोर्ट 443 से/proxy सुनने के लिए nginx को कॉन्फ़िगर करता हूं तो सबकुछ ठीक काम करता है। लेकिन मैं वास्तव में एक गैर मानक पोर्ट को सुनना चाहता हूं। जब मैं एक गैर मानक पोर्ट को कॉन्फ़िगर करता हूं, तो nginx अनुरोध प्राप्त करता है और इसे मेरे http सर्वर पर भेजता है, जैसा कि इसे करना चाहिए, लेकिन सर्वर एक HTTP रीडायरेक्ट के साथ प्रतिक्रिया कर रहा है जो ब्राउज़र पर वापस भेजता है जो इसे 'https: // सर्वर पर रीडायरेक्ट करने के लिए कहता है। com/someurl "। मेरा मतलब है कि रीडायरेक्ट यूआरएल अच्छा दिखता है, इसके अलावा यह सही पोर्ट खो रहा है। क्या मुझे एक HTTP शीर्षलेख याद आ रहा है जिसे मुझे प्रॉक्सी में सेट करने की आवश्यकता है?
विशेष रूप से मैं ट्रैक का एक http उदाहरण चला रहा हूं ।; http://getontracks.org यह मायने रखता है तो
मेरे (मानक पोर्ट पर काम कर) nginx सर्वर विन्यास:
location /{
proxy_pass http://localhost:50000;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_redirect off;
}
धन्यवाद। मुझे कुछ फोरम पोस्ट मिले जो एक HTTP एक्स-फॉरवर्डेड-पोर्ट हेडर सेट करने का सुझाव देते हैं, भले ही यह एक गैर मानक 'गैर मानक' शीर्षलेख की तरह दिखता हो। मैंने nginx कॉन्फ़िगरेशन में कोई किस्मत के साथ सेटिंग करने की कोशिश की। मुझे लगता है कि वैसे भी, जैसा कि आप कहते हैं, अपस्ट्रीम होस्ट पर चल रहे एप्लिकेशन को इस बारे में कुछ पता होना चाहिए और उस पर कार्रवाई करना होगा। – kenen