मेरे पास nginx पर एक रिवर्स प्रॉक्सी है जो काफी कुछ साइटों को सम्मिलित करता है। मैंने हाल ही में एसएसएल-सक्षम वेबसाइटों के लिए HTTP सख्त परिवहन सुरक्षा को सक्षम किया है। अब मेरे पास एक साइट है जो यह सक्षम नहीं करना चाहती है।
मुझे लगा कि मैं सिर्फ एक साधारण जांच करूंगा अगर मेरे अपस्ट्रीम ने पहले ही मुझे एक Strict-Transport-Security
-हाइडर भेज दिया है , और यदि नहीं, तो बस एक जोड़ें। इस तरह, मेरा अपस्ट्रीम एसटीएस हेडर भेज सकता है जिसमें max-age=0
प्रॉक्सी द्वारा एचएसटीएस सक्षम होने से बचना चाहिए।
मुझे लगा कि मैं अपना विन्यास इस प्रकार बदलूंगा:
location / {
proxy_pass http://webservers;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto "https";
if ($upstream_http_strict_transport_security = "") {
add_header Strict-Transport-Security "max-age=15552000";
}
}
लेकिन, शायद क्योंकि अगर बुराई है , तो यह काम नहीं करता है। मैंने यह सुनिश्चित करने के लिए विभिन्न चीजों के एक समूह की कोशिश की है कि चर वास्तव में मौजूद है (जो कि मामला है), लेकिन मदद करने के लिए कुछ भी नहीं लगता है।
मैं यह काम कैसे कर सकता हूं?