अपाचे: क्लाइंट सर्वर कॉन्फ़िगरेशन द्वारा इनकार कर दिया


150

मैं समझ रहा हूं

[Tue Apr 24 12:12:55 2012] [त्रुटि] [क्लाइंट 127.0.0.1] क्लाइंट सर्वर कॉन्फ़िगरेशन से इनकार: / प्रयोगशालाओं / परियोजनाओं / नेबुला / बिन /

मेरी निर्देशिका संरचना की तरह दिखता है (मैं सिम्फनी 2 का उपयोग कर रहा हूं, अन्य वेब फ्रेमवर्क के लिए समान संरचना होनी चाहिए)

यहाँ छवि विवरण दर्ज करें

मेरे पास vhosts सेटअप है जैसे:

<VirtualHost nebula:80>
    DocumentRoot "/labs/Projects/Nebula/web/"
    ServerName nebula
    ErrorLog "/var/log/httpd/nebula-errors.log"
</VirtualHost>

<Directory "/labs/Projects/Nebula/">
    Options All
    AllowOverride All
    Order allow,deny
    Allow from 127.0.0 192.168.1 ::1 localhost
</Directory>

मुझे आश्चर्य है कि समस्या क्या है और मैं इसे कैसे ठीक करूं?


1
@JiewMeng: आपको शायद फिल का जवाब स्वीकार करना चाहिए। यह आज (Apache 2.4) सबसे Apache स्थापित के साथ समस्या प्रतीत होता है । धन्यवाद।
dotancohen

जवाबों:


396

अपाचे 2.4.3 (या शायद थोड़ा पहले) ने एक नया सुरक्षा फीचर जोड़ा, जिसके परिणामस्वरूप अक्सर यह त्रुटि होती है। आपको "सर्वर कॉन्फ़िगरेशन द्वारा अस्वीकृत ग्राहक" फ़ॉर्म का लॉग संदेश भी दिखाई देगा। निर्देशिका को एक्सेस करने के लिए फीचर को अधिकृत उपयोगकर्ता पहचान की आवश्यकता होती है। यह httpd.conf में DEFAULT द्वारा अपाचे के साथ जहाजों को चालू किया गया है। आप निर्देश के साथ सुविधा को सक्षम करते हुए देख सकते हैं

Require all denied

यह मूल रूप से सभी उपयोगकर्ताओं तक पहुंच से इनकार करने के लिए कहता है। इस समस्या को ठीक करने के लिए, या तो अस्वीकृत निर्देश को हटा दें (या बहुत बेहतर) उन निर्देशों को निम्नलिखित निर्देश जोड़ें, जिन्हें आप एक्सेस देना चाहते हैं:

Require all granted

जैसे की

<Directory "your directory here">
   Order allow,deny
   Allow from all
   # New directive needed in Apache 2.4.3: 
   Require all granted
</Directory>

9
इसके Satisfy Anyबाद भी जोड़ने की आवश्यकता हो सकती हैRequire all granted
मार्कहु

@MarkHu - क्या आप Satisfy anyइस संदर्भ में संभावित आवश्यकता समझा सकते हैं ? मैं पूछ रहा हूं क्योंकि मैं अपने बालों को यहां खींच रहा था, और इसे जोड़ने से मेरे लिए सब कुछ काम कर रहा था। अजीब बात यह है कि ऐप मौजूदा vhost प्रविष्टि के साथ काम कर रहा था जब तक कि हाल ही में Apache अपग्रेड न हो जाए 2.4.9। वाइडर फिर से, यह एक ही ऐप / vhost और Apache / PHP संस्करणों के साथ दूसरे सर्वर पर ठीक काम कर रहा है। हालांकि विभिन्न सर्वर - AWS लिनक्स और Ubuntu 14.10 क्रमशः। अजीब ... मुझे लगता है कि मुझे यह देखने के लिए प्रत्येक सर्वर की httpd.confफ़ाइलों की तुलना करने की आवश्यकता है कि क्या वहाँ एक अंतर है ...
दारोगा ठीक है

htaccessआप जिस मार्ग तक पहुँचने की कोशिश कर रहे हैं, उस पर भी अपनी जाँच करें
उज्जवल सिंह

मेरा वातावरण तब तक काम नहीं कर रहा था जब तक मैंने @MarkHu Satisfy Any solution के साथ जाने का फैसला नहीं किया। धन्यवाद!!!
नियोनिगमा

सभी की आवश्यकता को बदलने के बाद भी यह एक ही त्रुटि दिखा रहा है प्रवेश निषेध।
दीपक

10

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

Allow from 127.0.0.1
Allow from ::1
...

1
अपाचे> 2.4 के लिए यह अकेले मेरे लिए काम नहीं कर सका। जब यह Require all granted@ फिल-एल
मुगोमा जे। ओकोमा जू

5

अपाचे 2.4 में पुराने एक्सेस ऑथोराइजेशन सिंटैक्स को हटा दिया गया है और आवश्यकता के उपयोग से इसे एक नए सिस्टम द्वारा बदल दिया गया है ।

आप जो चाहते हैं, वह निम्न प्रकार है:

<Directory "/labs/Projects/Nebula/">
  Options All
  AllowOverride All
  <RequireAny>
    Require local
    Require ip 192.168.1
  </RequireAny>
</Directory>

यह उन कनेक्शनों की अनुमति देगा जो या तो स्थानीय होस्ट या "192.168.1" से शुरू होने वाले आईपी पते से उत्पन्न होते हैं

एक नया मॉड्यूल भी उपलब्ध है जो अपाचे 2.4 को पुराने सिंटैक्स को पहचानता है यदि आप अपने कॉन्फ़िगरेशन को तुरंत अपडेट नहीं करना चाहते हैं:

sudo a2enmod access_compat

1

क्या आप "127.0.0 192.168.1 :: 1 लोकलहोस्ट" से "सभी से अनुमति दें" बदलने की कोशिश कर सकते हैं। यदि यह आपकी समस्या को ठीक करता है, तो आपको उस सामग्री के लिए अनुरोध किए जाने के बारे में कम प्रतिबंधित होने की आवश्यकता है


1

यहाँ डेबियन पर मेरी सिम्फनी 1.4 वर्चुअल होस्ट फ़ाइल है, जो ठीक काम करती है।

  <Directory /var/www/sf_project/web/>
    Options All Indexes FollowSymLinks    
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

यदि आप किसी विशिष्ट आईपी रेंज तक पहुँच को प्रतिबंधित नहीं करना चाहते हैं, जैसे कि लोकलहोस्ट इसका उपयोग करते हैं:

Allow from 127.0.0.0/8

Mod_authz_host आईपी पर्वतमाला छानने के लिए जिम्मेदार है। आप वहां विस्तृत चीजें देख सकते हैं।

लेकिन हो सकता है कि समस्या आपके "अपाचे 2.कॉन्फ़" में किसी तरह के ग़लतफ़हमी से संबंधित हो।

OS किस अपाचे पर चल रहा है?


1

यदि आप कर रहे हैं

Allow from All

httpd.conf में फिर सुनिश्चित करें कि हमारे पास है

index.php

httpd.conf में नीचे की पंक्ति की तरह

DirectoryIndex index.html index.php

1

मेरे पास यह मुद्दा था वेस्टा सीपी और मेरे लिए, चाल को हटा दिया गया था ।htaccess और फिर से किसी भी फ़ाइल तक पहुंचने का प्रयास करें।

कि .htaccess फ़ाइल के उत्थान पर परिणाम हुआ और फिर मैं अपनी फ़ाइलों तक पहुँचने में सक्षम हुआ।



-3

इस कोड ने मेरे लिए काम किया ।।

 <Location />
Allow from all
Order Deny,Allow
</Location> 

आशा है कि यह दूसरों की मदद करता है


1
यह बिल्कुल अपाचे विन्यास में जोड़ने के लिए प्रोत्साहित नहीं किया जाना चाहिए।
रिकी मुत्स्चलेनर

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