मेरे सरल परीक्षण पृष्ठ तक पहुंचने की कोशिश करते समय 403 निषिद्ध


13

मैंने अभी-अभी nginx स्थापित किया है और मैं अपनी पहली साइट सेटअप करने की कोशिश कर रहा हूँ। मैं php-fpm के साथ nginx का उपयोग करने की कोशिश कर रहा हूं। nginx स्थापित है (जब मैं अपने आईपी पर जाता हूं तो मुझे nginx पृष्ठ पर डिफ़ॉल्ट स्वागत मिलता है)।

अब मैं एक सरल स्क्रिप्ट चलाने की कोशिश कर रहा हूं:

<?php
phpinfo();

लेकिन मैं एक 403 निषिद्ध पृष्ठ मार रहा हूँ। अपने वर्चुअल होस्ट के लॉग में मैं बहुत सारी लाइन्स देख सकता हूँ जैसे:

2012/05/18 01:29:45 [error] 4272#0: *1 access forbidden by rule, client: x.170.147.49, server: example.com, request: "GET / HTTP/1.1", host: "example.com"

फ़ाइल वह /srv/www/test/index.phpहै जिसमें से nginx स्वामी है (मैं के रूप में के रूप 777में पूर्ण पथ आईएनजी के लिए कोई फायदा नहीं हुआ)।

मैंने जाँच की है कि nginx वास्तव nginx/nginxमें config में उपयोगकर्ता और समूह के तहत चल रहा है और यह है। Nginx.conf में मैंने डिफ़ॉल्ट कॉन्फिगर को शामिल कर लिया है, जिसमें यह सुनिश्चित करने के लिए पथ शामिल है कि रास्ते में कोई अन्य कॉन्फिगर न मिले ( include /etc/nginx/sites-enabled/)

मेरे द्वारा उपयोग किया जा रहा कॉन्फ़िगरेशन ऐसा दिखता है (यदि आपको अन्य कॉन्फिग की आवश्यकता है (php-fpm / nginx.conf) कृपया मुझे बताएं):

server {
    listen 80;

    server_name example.com;
    root /srv/www/test;
    access_log /var/log/nginx/example-access.log;
    error_log  /var/log/nginx/example-error.log error;

    location ~ /.          { access_log off; log_not_found off; deny all; }
    location ~ ~$           { access_log off; log_not_found off; deny all; }

    location ~* .(js|css|png|jpg|jpeg|gif|ico|xml|swf|flv|eot|ttf|woff|pdf|xls|htc)$ {
        add_header Pragma "public";
        add_header Cache-Control "public, must-revalidate, proxy-revalidate";
        access_log off;
        log_not_found off;
        expires   360d;
    }

    location ~ /.ht {
        deny all;
        access_log off;
        log_not_found off;
    }

    location ~ /. {
        access_log off;
        log_not_found off;
        deny all;
    }

    location ~ ^/(index|frontend_dev|admin|staging).php($|/) {
        #rewrite ^/(.*)/$ /$1 permanent;
        fastcgi_split_path_info ^(.+.php)(.*)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;

    }

    location / {
        index index.php;
        try_files $uri /index.php?$args;
    }
}

जवाबों:


22

आपका कॉन्फ़िगरेशन जानबूझकर इसे अवरुद्ध कर रहा है:

location ~ /. {
    access_log off;
    log_not_found off;
    deny all;
}

यह किसी भी अनुरोध से मेल खाता है जहां स्लैश का अनुसरण किसी भी प्रकार के चरित्र द्वारा किया जाता है; .एक नियमित अभिव्यक्ति में चरित्र "किसी भी चरित्र" का अर्थ है।

मैं मान रहा हूं कि आप शाब्दिक रूप से जांचना चाहते हैं .; यह यह विन्यास होगा:

location ~ /\. {

मुझे पता है कि अगर यह मामला नहीं है!


ओएमजी मैं अब बहुत बेवकूफ महसूस करता हूं (इस तथ्य को देखते हुए कि मैं उहहम्म्म 'कुछ' जबकि 'के लिए इस पर अभिनीत कर रहा हूं)। अपनी त्वरित प्रतिक्रिया के लिए धन्यवाद!
user6669
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.