apache - अपाचे 2.4+PHP-FPM और प्राधिकरण शीर्षलेख




http apc (2)

सारांश: अपाचे 2.4 का mod_proxy प्राधिकरण शीर्षलेख को PHP-FPM में पास नहीं कर रहा प्रतीत होता है। क्या इसको ठीक करने का कोई तरीका है?

लंबा संस्करण: मैं अपाचे 2.4 और PHP-FPM के साथ एक सर्वर चला रहा हूं। मैं ओपोड कैशिंग और उपयोगकर्ता कैशिंग दोनों के लिए एपीसी का उपयोग कर रहा हूं। जैसा कि इंटरनेट द्वारा अनुशंसित किया गया है, मैं एफपीएम के अनुरोधों को प्रॉक्सी करने के लिए अपाचे 2.4 के mod_proxy_fcgi का उपयोग कर रहा हूं, इस तरह:

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/foo/bar/$1

सेटअप एक काम को छोड़कर ठीक काम करता है: एपीसी की बंडल apc.php, एपीसी की स्थिति की निगरानी करने के लिए प्रयुक्त होता है, मुझे लॉग इन करने की अनुमति नहीं देता है (उपयोगकर्ता कैश प्रविष्टियों को देखने के लिए आवश्यक)। जब मैं उपयोगकर्ता कैश देखने के लिए "उपयोगकर्ता कैश प्रविष्टियों" पर क्लिक करता हूं, तो यह मुझे लॉग इन करने के लिए कहता है, लॉगिन बटन पर क्लिक करने से सामान्य HTTP लॉगिन फ़ॉर्म प्रदर्शित होता है, लेकिन सही लॉगिन और पासवर्ड दर्ज करने से कोई सफलता नहीं मिलती है। Mod_proxy + php-fpm के बजाय mod_php के साथ चलते समय यह फ़ंक्शन पूरी तरह से काम कर रहा है।

कुछ googling के बाद मैंने पाया कि अन्य लोगों के पास एक ही मुद्दा था और यह पता चला कि ऐसा इसलिए था क्योंकि अपाचे प्राधिकरण HTTP शीर्षलेख बाहरी फास्टसीजी प्रक्रिया में नहीं जा रहा था। दुर्भाग्यवश मुझे केवल mod_fastcgi के लिए एक फिक्स मिला, जो इस तरह दिखता था:

FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization

क्या कोई समकक्ष सेटिंग या कुछ वर्कअराउंड है जो mod_proxy_fcgi के साथ भी काम करेगा?


मुझे mod_proxy_fcgi के साथ कोई भी समान सेटिंग्स नहीं मिली लेकिन यह डिफ़ॉल्ट रूप से मेरे लिए काम करता है। यह उपयोगकर्ता प्रमाणीकरण (सामान्य रूप से .htaccess) के लिए पूछता है और php इसे प्राप्त करता है, और mod_php या fastcgi और pass-header के साथ काम करता है। मुझे नहीं पता कि मैं सहायक था या नहीं ...

संपादित करें: यह DirectoryIndex का उपयोग करते समय केवल teszt.com/ पर काम करता है ... यदि मैं php फ़ाइल नाम पास करता हूं (यहां तक ​​कि index.php!) यह अभी काम नहीं करता है, तो php को ऑथ पास न करें। यह मेरे लिए एक अवरोधक है, लेकिन मैं apache 2.2 (और mod_fastgi) में डाउनग्रेड नहीं करना चाहता, इसलिए मैं nginx (इस मशीन पर भी) पर माइग्रेट करता हूं।


यह मुझे क्रैक करने में काफी समय लगा, क्योंकि यह mod_proxy या mod_proxy_fcgi के तहत प्रलेखित नहीं है।

अपने अपाचे conf या .htaccess पर निम्न निर्देश जोड़ें:

CGIPassAuth on

विवरण के लिए here देखें।





php