सवाल Nginx + अपाचे पीछे स्लैश रीडायरेक्ट [बंद]


मेरे पास एक Nginx सर्वर चल रहा है 80 पोर्ट प्रॉक्सी के रूप में काम कर रहा है Apache 2.2 जो सुन रहा है 127.0.0.1:8080

जब मैं पहुंचता हूं http://hostname/subfolder/ यह बहुत अच्छा काम करता है।
जब मैं पहुंचता हूं http://hostname/subfolder यह मुझे रीडायरेक्ट करता है http://hostname:8080/subfolder/ क्या गलत है।

जहां तक ​​मुझे लगता है कि गलत रीडायरेक्ट अपाचे द्वारा लौटाया गया है लेकिन UseCanonicalName तथा UseCanonicalPhysicalProxy दोनों सेट हैं Off

इसे ठीक करने के तरीके पर कोई विचार?


8
2017-08-25 11:14


मूल


यह समस्या आपके nginx कॉन्फ़िगरेशन के साथ प्रतीत होती है क्योंकि पोर्ट 8080 पर रीडायरेक्ट में पीछे पीछे स्लैश परिणामों के बिना पोर्ट 80 तक पहुंच है। अपने nginx को अपाचे में अपरिपक्व है और अपाचे रीडायरेक्ट का ऑर्डर कर रहा है। - PP.
मैं प्रॉक्सी के रूप में nginx का उपयोग करें - quark


जवाब:


मैं भी इसमें भाग गया, और मैं अपने nginx कॉन्फ़िगरेशन में मेरे proxy_pass निर्देश के ठीक बाद proxy_redirect निर्देश के साथ इसे ठीक करने में सक्षम था:

proxy_redirect http://example.com:8080/ http://example.com/ 

यह मेरी पूरी nginx कॉन्फ़िगरेशन है (मेरे मामले में, अपाचे पोर्ट 81 पर है और दो साइटों की मेजबानी कर रहा है। मैंने दो साइट-विशिष्ट प्रॉक्सी_रेरेक्ट लाइनों को जोड़ा क्योंकि मुझे यकीन नहीं है कि एक सामान्य जेनेरिक कैसे जोड़ना है।)

server {
    listen 80;

    access_log /var/log/nginx/apache-proxy.access.log;

    location / {
        proxy_pass http://localhost:81;

        #fix for apache redirects that include the port number
        proxy_redirect http://nfriedly.com:81/ http://nfriedly.com/;
        proxy_redirect http://misticflame.com:81/ http://misticflame.com/;

        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 6000;
        proxy_send_timeout 6000;
        proxy_read_timeout 6000;
        proxy_buffer_size 4k;
        proxy_buffers 4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
        send_timeout 6000;
        proxy_buffering off;
        proxy_next_upstream error;

    }
}

नोट: यह 5+ साल पहले nginx के प्री-1.0 संस्करण के लिए था। वर्तमान संस्करण के लिए proxy_redirect के लिए दस्तावेज़ यहां दिए गए हैं: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect


5
2018-03-21 18:10



proxy_redirect जोड़ने वाक्यविन्यास त्रुटि देता है - TomSawyer
यह nginx के एक पुराने पुराने संस्करण पर था। अब मैं nginx (मेरी व्यक्तिगत साइट के लिए github पृष्ठों पर स्थिर सामग्री) का उपयोग नहीं कर रहा हूं, लेकिन मैंने वर्तमान proxy_redirect दस्तावेज़ों के लिंक के साथ उत्तर अपडेट किया है। - Nathan Friedly
इस तरह, आप अभी भी इसे पुनर्निर्देशित करने के कारण धीमे हो जाते हैं - TomSawyer


यदि अपाचे पर आपका सर्वर नाम निर्देश "होस्टनाम: 8080" पर सेट है, तो "8080" को हटाएं या इसे "होस्टनाम: 80" में बदलें। आप "proxy_set_header होस्ट $ होस्ट: 80" भी जोड़ सकते हैं


2
2018-02-21 16:58





मुझे बहुत समय पहले यह मुद्दा था .. जैसा कि मुझे याद है कि इसे HTTP आरएफसी के साथ करना था, अंत में स्लैश एक निर्देशिका (/ test /) को इंगित करता है , अंत में कोई भी स्लैश नहीं है (/ परीक्षण)

लंबी कहानी छोटी, एक पुनर्लेखन नियम जोड़ें जो अनुरोध में पीछे की ओर स्लैश जोड़ देगा, यदि कोई नहीं है।

की ओर देखें हल: Nginx सर्वर के साथ पीछे स्लैश मुद्दा

HTP


1
2018-03-07 19:22





मैं हाल ही में इस सटीक समस्या में भाग गया। जबकि सुझाए गए समाधान काम करेंगे, Nginx एक अंतर्निहित समाधान प्रदान करता है:

proxy_redirect default;

दस्तावेज़ीकरण http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect

इसका उपयोग करने का एक पूर्ण उदाहरण यहां दिया गया है:

server {
  listen 80;
  location / {
    proxy_pass http://localhost:8080
    proxy_redirect default
  }
}

1
2018-05-02 17:21





शायद nginx प्रॉक्सी हेडर को अपाचे को बताने के लिए सेट नहीं कर रहा है कि मूल अनुरोध कैसा दिख रहा था।

Nginx में:

proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

देख http://wiki.nginx.org/LikeApache


0
2018-02-02 21:11