से proxy_pass प्रलेखन:
एक विशेष मामला प्रॉक्सी_पास स्टेटमेंट में चर का उपयोग कर रहा है: अनुरोधित URL का उपयोग नहीं किया गया है और आप लक्ष्य URL का निर्माण करने के लिए पूरी तरह से जिम्मेदार हैं।
चूंकि आप लक्ष्य में $ 1 का उपयोग कर रहे हैं, nginx आप पर निर्भर करता है कि वह बताए कि वास्तव में क्या पास करना है। आप इसे दो तरीकों से ठीक कर सकते हैं। पहले, छद्म के साथ यूआरआई की शुरुआत को अलग करना तुच्छ है:
location /service/ {
# Note the trailing slash on the proxy_pass.
# It tells nginx to replace /service/ with / when passing the request.
proxy_pass http://apache/;
}
या यदि आप रेगेक्स स्थान का उपयोग करना चाहते हैं, तो केवल args को शामिल करें:
location ~* ^/service/(.*) {
proxy_pass http://apache/$1$is_args$args;
}