अपाचे: "प्रमाण सेट नहीं!" 500 त्रुटि


98

जब से मैंने Apache httpd वेब सर्वर का उपयोग किया है, कुछ समय हो चुका है। मैं एक परियोजना के लिए एक स्थानीय सर्वर को निकाल रहा हूं और जब मैं स्थानीयहोस्ट / इंडेक्स। Html का अनुरोध करने की कोशिश करता हूं, तो मुझे 500 त्रुटि मिलती है और मैं इसे त्रुटि लॉग में देखता हूं:

[Tue Jan 21 09:23:58 2014] [crit] [client ::1] configuration error:  couldn't perform authentication. AuthType not set!: /index.html
[Tue Jan 21 09:23:58 2014] [error] an unknown filter was not added: DEFLATE
[Tue Jan 21 09:23:58 2014] [crit] [client ::1] configuration error:  couldn't perform authentication. AuthType not set!: /favicon.ico

ऐसा लगता है कि अपाचे कॉन्फिगर में यहां पर संभवतः 2 त्रुटियां हैं, एक "संबंधित सेट नहीं है!" और संभवतः "फ़िल्टर जोड़ा नहीं गया: DEFLATE" से संबंधित एक और। मुझे नहीं पता कि इन साधनों का क्या मतलब है या कहां खुदाई शुरू करनी है।

एक मूल Google खोज ने इस लिंक का खुलासा किया जो इंगित करता है कि अपराधी "सभी की आवश्यकता है" हो सकता है। मेरी httpd.conf में यह लाइन शामिल हो सकती है।

<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

यह अपाचे विन्यास ज्यादातर इस परियोजना के लिए उत्पादन में उपयोग किया जाता है, इसलिए मुझे पता है कि यह काम करता है, अभी मेरे कार्य केंद्र पर नहीं है। इसका क्या मतलब है और मुझे आगे क्या प्रयास करना चाहिए? मैंने टिप्पणी करने की कोशिश की "सभी की आवश्यकता है" और अपाचे को फिर से शुरू करने पर कोई फायदा नहीं हुआ।

इस SO प्रश्न के बाद मैंने mod_authz_host लोड किया

LoadModule authz_host_module modules/mod_authz_host.so

और "सभी से अनुमति दें" जोड़ा, सर्वर को पुनरारंभ किया,। लेकिन मुद्दा कायम है। डिफ्लेट मुद्दा असंबंधित प्रतीत होता है, और आसानी से जोड़कर हल किया गया था

LoadModule deflate_module modules/mod_deflate.so

सवाल यह है कि, मैं इस 500 त्रुटि को कैसे हल करूं?

[Tue Jan 21 09:44:20 2014] [crit] [client ::1] 
configuration error:  couldn't perform authentication. 
AuthType not set!: /index.html

जवाबों:


183

जो लाइन कहे उसे हटाओ

Require all granted

यह केवल Apache> = 2.4 पर आवश्यक है


1
या वैकल्पिक रूप से <IfVersion> सिंटैक्स का उपयोग करें ... नीचे मेरा उत्तर देखें।
pkout

महान तय - खोजने में बहुत लंबा समय लगा। धन्यवाद!
एलियनवेबगुई

ओएस एक्स एमएमपी अपाचे 2.2 में, किसी को भी संतुष्ट करने के लिए "सभी की आवश्यकता है" से बदलो
मटिल्डा यी पैन

49

यहाँ समस्या का एक और तरीका तैयार किया जा सकता है: मैं एक विन्यास कैसे बनाऊं जो अपाचे 2.2 और 2.4 दोनों में काम करता है?

Require all grantedकेवल 2.4 में है, लेकिन Allow all ...2.4 में काम करना बंद कर देता है, और हम एक कॉन्फ़िगरेशन को रोलआउट करने में सक्षम होना चाहते हैं जो दोनों में काम करता है।

एकमात्र समाधान जो मुझे मिला, जो मुझे यकीन नहीं है कि उचित है, का उपयोग करना है:

# backwards compatibility with apache 2.2
Order allow,deny
Allow from all

# forward compatibility with apache 2.4
Require all granted
Satisfy Any

यह आपकी समस्या का समाधान करना चाहिए, या कम से कम मेरे लिए किया। यदि आपके पास अधिक जटिल पहुँच नियम हैं, तो अब इस समस्या को हल करना बहुत कठिन होगा ...

इसी तरह का प्रश्न यह भी देखें । डेबियन विकी के पास 2.2 और 2.4 दोनों का समर्थन करने के लिए उपयोगी निर्देश भी हैं ।


मैं उद्देश्य से दो स्निपेट में शामिल हो गया ताकि वे यहां दोनों संस्करणों में काम करें, कृपया उन्हें फिर से अलग न करें।
अनारकट

1
एक जादू की तरह काम किया। धन्यवाद!
अन्ना वेलिंगटन

34

वैकल्पिक रूप से, यह समाधान अपाचे 2 संस्करण <2.4 के साथ-साथ> = 2.4 दोनों के साथ काम करता है। सुनिश्चित करें कि "संस्करण" मॉड्यूल सक्षम है:

a2enmod version

और फिर इस कोड का उपयोग करें:

<IfVersion < 2.4>
    Allow from all
</IfVersion>
<IfVersion >= 2.4>
    Require all granted
</IfVersion>

आप एक अन्य मॉड्यूल को सक्रिय करने से बचने के लिए इस उत्तर के साथ भी जा सकते हैं: stackoverflow.com/questions/10707186/…
स्टीफन

3

बस अपनी httpd.conf फ़ाइल (आदि / httpd / conf) से निम्न पंक्ति निकालें / टिप्पणी करें

सभी की आवश्यकता है

अपाचे संस्करण 2.2 तक इसकी आवश्यकता है और इसके बाद से इसकी आवश्यकता नहीं है।


0

मुझे लगता है कि आपके पास अपाचे का एक संस्करण 2.4.x है।

क्या आप सुनिश्चित हैं कि आप इस 2 मॉड्यूल को लोड करते हैं? - mod_authn_core - mod_authz_core

LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_core_module modules/mod_authz_core.so

पुनश्च: प्राधिकरण और अधिकारों के लिए मेरी सिफारिश (डिफ़ॉल्ट रूप से):

LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so

धन्यवाद Georgio, वास्तव में मैं अपने मॉड्यूल निर्देशिका में स्रोत {n | z} _core मॉड्यूल नहीं है।
user3220334

आप इन मॉड्यूल को सभी के साथ एक समान देखते हैं httpd -l?
जार्जियो

मुझे आश्चर्य है, क्या मुझे अलग से निर्माण करना चाहिए? यह CentOS `apachectl -version सर्वर संस्करण पर 2.2.15 के बॉक्स इंस्टॉलेशन से बाहर है: Apache / 2.2.15 (Unix) सर्वर बनाया गया: Aug 13 2013 17: 29: 28`
user3220334

क्षमा करें, क्षमा करें, आप Apache 2.2.x का उपयोग करते हैं और 2.4.x का नहीं। मॉड्यूल का कोई नाम नहीं है। मॉड्यूल है: mod_authn_file.c mod_authn_default mod_authz_host mod_authz_groupfile mod_authz_user mod_authz_default_auth_basic
Georgio

कूल, सूची के लिए धन्यवाद, मैंने उन सभी को जोड़ा और पुनः आरंभ किया लेकिन अभी भी त्रुटि हो रही है।
user3220334

0

sudo a2enmod rewriteयदि आप इसे अपने कॉन्फिगर में इस्तेमाल करते हैं तो आप कोशिश कर सकते हैं ।

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