इसके बजाय रिवर्स प्रॉक्सी समर्थन का उपयोग करने का प्रयास करें । एक उदाहरण location
अनुभाग होगा:
location / {
proxy_pass http://localhost:8080;
proxy_redirect http://localhost:8080/ /;
proxy_read_timeout 60s;
# May not need or want to set Host. Should default to the above hostname.
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
यह उदाहरण इस server
ब्लॉक के सभी अनुरोधों से होकर गुजरने वाले दूसरे सर्वर तक जाएगा localhost:8080
। यह बरकरार रखता POST
है और भी अन्य अनुरोध प्रकार के भी अगर यह कभी एक मुद्दा बन जाता बनाए रखने चाहिए।
मुद्दा यह है कि बाहरी रीडायरेक्ट कभीPOST
डेटा को फिर से नहीं भेजेंगे । यह HTTP कल्पना (3xx अनुभाग की जाँच करें) में लिखा गया है । ऐसा करने वाला कोई भी ग्राहक युक्ति का उल्लंघन कर रहा है।
यदि 301/302 स्थिति कोड GET या HEAD के अलावा किसी अन्य अनुरोध के जवाब में प्राप्त होता है, तो उपयोगकर्ता एजेंट को अनुरोध को स्वचालित रूप से पुनर्निर्देशित नहीं करना चाहिए जब तक कि उपयोगकर्ता द्वारा इसकी पुष्टि नहीं की जा सकती है, क्योंकि यह उन शर्तों को बदल सकता है जिनके तहत अनुरोध जारी किया गया था। ।
मुझे पूरा यकीन है कि ज्यादातर ब्राउज़र इसे पुनर्निर्देशित अनुरोध को अनुरोध के रूप में लागू करके लागू करते GET
हैं। सैद्धांतिक रूप से, युक्ति एक ब्राउज़र के लिए अनुमति देता है जो उपयोगकर्ता से पूछेगा कि क्या POST
डेटा को पुनर्निर्देशित करना है, लेकिन मैं वर्तमान में किसी भी तरह से अनजान हूं।