Nginx 403 सभी फ़ाइलों के लिए वर्जित


Answers

यदि आपको अभी भी पैरेंट फ़ोल्डर्स की अनुमतियों को सत्यापित करने के बाद permission denied दिखाई देती है, तो यह SELinux प्रतिबंधित प्रतिबंधित हो सकता है।

यह जांचने के लिए कि क्या SELinux चल रहा है:

# getenforce

अगले रीबूट तक SELinux को अक्षम करने के लिए:

# setenforce Permissive

Nginx को पुनरारंभ करें और देखें कि समस्या बनी रहती है या नहीं। Nginx को आपकी www निर्देशिका की सेवा करने की अनुमति देने के लिए (सुनिश्चित करें कि आप परीक्षण करने से पहले SELinux को वापस चालू करें। यानी, setenforce Enforcing )

# chcon -Rt httpd_sys_content_t /path/to/www

अधिक जानकारी के लिए यहां मेरा उत्तर देखें

Question

मेरे पास सेंटोस 5 बॉक्स पर PHP-FPM के साथ nginx स्थापित है, लेकिन मैं अपनी किसी भी फाइल को सेवा देने के लिए संघर्ष कर रहा हूं - चाहे PHP या नहीं।

Nginx www-data के रूप में चल रहा है: www-data, और डिफ़ॉल्ट "ईपीईएल पर nginx में आपका स्वागत है" साइट (रूट के स्वामित्व में: 644 अनुमतियों के साथ रूट) ठीक लोड करता है।

Nginx कॉन्फ़िगरेशन फ़ाइल में /etc/nginx/sites-enabled/*.conf के लिए निर्देश शामिल है , और मेरे पास एक कॉन्फ़िगरेशन फ़ाइल example.com.conf है , इस प्रकार:

server {
 listen 80;

 Virtual Host Name
 server_name www.example.com example.com;


 location / {
   root /home/demo/sites/example.com/public_html;
   index index.php index.htm index.html;
 }

 location ~ \.php$ {
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_index  index.php;
  fastcgi_param  PATH_INFO $fastcgi_script_name;
  fastcgi_param  SCRIPT_FILENAME  /home/demo/sites/example.com/public_html$fastcgi_script_name;
  include        fastcgi_params;
 }
}

Www_ डेटा के स्वामित्व वाले public_html के बावजूद: 2777 फ़ाइल अनुमतियों के साथ www-data, यह साइट किसी भी सामग्री की सेवा करने में विफल रही है -

 [error] 4167#0: *4 open() "/home/demo/sites/example.com/public_html/index.html" failed (13: Permission denied), client: XX.XXX.XXX.XX, server: www.example.com, request: "GET /index.html HTTP/1.1", host: "www.example.com"

मुझे nginx से 403s प्राप्त करने वाले उपयोगकर्ताओं के साथ कई अन्य पोस्ट मिली हैं, लेकिन मैंने जो देखा है, उनमें रूबी / पैसेंजर (जो कि मैंने वास्तव में सफलतापूर्वक काम किया है) के साथ या तो जटिल जटिलताओं को शामिल किया है या केवल अपस्ट्रीम PHP के दौरान त्रुटियां प्राप्त कर रहे हैं -एफपीएम शामिल है, इसलिए वे थोड़ी मदद की प्रतीत होते हैं।

क्या मैंने यहाँ कुछ मूर्खतापूर्ण किया है?




Plesk Onyx 17. का उपयोग करके हमारे पास एक ही समस्या थी। अधिकारों के साथ गड़बड़ करने के बजाय, समाधान nginx उपयोगकर्ता को psacln समूह में जोड़ना था, जिसमें अन्य सभी डोमेन मालिक (उपयोगकर्ता) थे:

usermod -aG psacln nginx

अब nginx को .htaccess या सामग्री को ठीक से दिखाने के लिए आवश्यक किसी भी अन्य फ़ाइल तक पहुंचने का अधिकार है।

दूसरी ओर, यह भी सुनिश्चित करें कि स्थिर सामग्री की सेवा के लिए अपाचे psaserv समूह में है:

usermod -aG psaserv apache

और बाद में Plesk में Apache और Nginx दोनों को पुनरारंभ करना न भूलें! (और Ctrl-F5 वाले पृष्ठों को पुनः लोड करें)




पुराना सवाल, लेकिन मुझे एक ही समस्या थी। मैंने ऊपर दिए गए हर उत्तर की कोशिश की, कुछ भी काम नहीं किया। हालांकि यह मेरे लिए तय किया गया था हालांकि डोमेन को हटा रहा था, और इसे फिर से जोड़ रहा था। मैं Plesk का उपयोग कर रहा हूँ, और डोमेन पहले से ही वहाँ था के बाद मैं Nginx स्थापित किया।

हालांकि स्थानीय बैकअप / var / www / बैकअप पहले था। तो मैं फ़ाइलों को आसानी से वापस कॉपी कर सकता था।

अजीब समस्या ....




मैंने अलग-अलग मामलों की कोशिश की है और केवल तभी जब मालिक nginx ( chown -R nginx:nginx "/var/www/myfolder" पर सेट किया गया था) - यह अपेक्षा के अनुसार काम करना शुरू कर दिया।




Related