नेगनेक्स फिर से लिखना या आंतरिक पुनर्निर्देशन चक्र


13

Im मेरे सिर को पीटने की कोशिश कर रहा है, जो यह पता लगाने की कोशिश कर रहा है कि मेरे nginx कॉन्फ़िगरेशन में पुनर्निर्देशन चक्र का कारण क्या है जो URL का उपयोग करने की कोशिश करता है जो कॉन्फ़िगरेशन मौजूद नहीं है जो निम्नानुसार है:

server {
        listen       127.0.0.1:8080;
        server_name  .somedomain.com;
    root  /var/www/somedomain.com;

        access_log /var/log/nginx/somedomain.com-access.nginx.log;
    error_log  /var/log/nginx/somedomain.com-error.nginx.log debug;

        location ~* \.php.$ {
        # Proxy all requests with an URI ending with .php*
        # (includes PHP, PHP3, PHP4, PHP5...)
        include /etc/nginx/fastcgi.conf;
        }

        # all other files
        location / {
            root  /var/www/somedomain.com;
        try_files $uri $uri/ ;
        }

    error_page 404 /errors/404.html;
        location /errors/ {
                alias /var/www/errors/;
        }       

        #this loads custom logging configuration which disables favicon error logging
        include /etc/nginx/drop.conf;
}

यह डोमेन कुछ परीक्षण उद्देश्यों के लिए एक साधारण स्टेटिक HTML साइट है। मुझे उम्मीद है कि PHP_-FPM के जवाब में error_page निर्देश किक करेगा, क्योंकि मुझे दी गई फाइलें नहीं मिल रही हैं क्योंकि मेरे पास fastcgi_intercept_errors है; http ब्लॉक और nave error_page में सेट अप, लेकिन मैं अनुमान लगा रहा हूं कि आंतरिक रीडायरेक्ट पर कहीं पहले भी यह अनुरोध विफल रहा है। कोई भी सहायताकाफी प्रशंसनीय होगी।


क्या क्लाइंट ब्राउज़र रीडायरेक्ट लूप की रिपोर्ट कर रहा है, या nginx है? यदि यह ग्राहक है, तो किस स्थान पर पुनर्निर्देश हैं?
शेन झुंझलाना

दोनों इसकी सूचना दे रहे हैं। क्लाइंट अंततः /errors//errors//errors//errors//errors//errors/...404.html के URL के साथ समाप्त होता है
milosgajdos

नग्नेक्स से लॉग प्रविष्टि क्या दिखती है?
शेन मैडेन

जवाबों:


11

अपराधी है: try_files $uri $uri/ ;

http://nginx.org/r/try_files (ध्यान दें कि अंतिम पैरामीटर रिटर्न कोड या यूआरआई है आंतरिक पुनर्निर्देशन)

यदि कोई भी फ़ाइल नहीं मिली, तो अंतिम पैरामीटर द्वारा निर्दिष्ट uri के लिए एक आंतरिक पुनर्निर्देशित किया जाता है।


धन्यवाद। रूट रूटेलिस एलईएमपी सेटअप के साथ बस इन त्रुटियों में से एक था। WooCommerce डेटा आयात के बाद हुआ। पहले ऐसा कभी नहीं हुआ था। आप इन मामलों में क्या सलाह देंगे? पैरामीटर निकालें $uri/? यहाँ पैरामीटर देखें: github.com/roots/trellis/blob/…
rhand

2

जैसा कि अन्य लोगों ने कहा है, यह अपराधी है:

    try_files $uri $uri/ ;

यह एक पुनर्निर्देशन लूप बनाता है, क्योंकि अंतिम पैरामीटर try_filesको उस स्थान को इंगित करना चाहिए यदि फ़ाइल नहीं मिली है। मैंने इसे =404इस तरह जोड़कर हल किया :

    try_files $uri $uri/ =404 ;
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.