Назад | Перейти на главную страницу

403 Запрещено nginx (nginx / 1.8.0)

У меня только что появился новый сервер в DigitalOcean, и я хочу попробовать кое-что еще. Я хочу создать сайт на wordpress, поэтому следую за первыми 1-3 шагами отсюда: https://deliciousbrains.com/hosting-wordpress-yourself-nginx-php-mysql/. Сначала все идет хорошо, и мне удалось установить WordPress. К сожалению, на моем сайте сейчас 403 Forbidden.

Я использую Ubuntu 14.04 x64. Я уже довольно часто застреваю и до сих пор не понимаю, что происходит. Я даже пытался удалить Nginx и переустановить, все то же самое.

Вот мой файл conf:

user sylvia;
worker_processes 1;
pid /run/nginx.pid;

events {
        worker_connections 1024;
        # multi_accept on;
}

http {

        ##
        # Basic Settings
        ##

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 15;
        types_hash_max_size 2048;
        # server_tokens off;
        client_max_body_size 64m;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        ##
        # Logging Settings
        ##

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        ##
        # Gzip Settings
        ##

        gzip on;
        gzip_disable "msie6";

        # gzip_vary on;
        # gzip_proxied any;
        # gzip_comp_level 2;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

        ##
        # Virtual Host Configs
        ##

        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;

       server {
              listen 80 default_server;
               server_name _;
               return 444;
                    }

Любая идея?

Скорее всего, это проблема с разрешением. Разрешите пользователю www-data доступ к вашему корневому каталогу. Aur также можно передать в собственность.

chown -R www-data:www-data /path/to/your/directory

У меня тоже была проблема с 403, которая была вызвана режимом каталога.

Я установил корневой каталог в домашнем каталоге, а режим по умолчанию для домашнего каталога - 600.

Потом я нашел эту статью https://gist.github.com/jhjguxin/6208474 , и попытался изменить корневой каталог на 755, и проблема была решена.

Таким образом, кажется, что разрешения по умолчанию для домашних каталогов пользователей в Ubuntu 12.04 - 700. ** Nginx должен иметь разрешение на чтение файлов, которые должны обслуживаться, И иметь разрешение на выполнение в каждом из родительских каталогов на пути от корня до обслуживаемого файлы. **

Вы можете предоставить своему каталогу пользователя эти разрешения, запустив

chmod 701 user_home

Вы также можете использовать 755, который является настройкой разрешений по умолчанию для домашнего каталога во многих системах.

Каталоги / файлы в вашем корневом веб-каталоге могут принадлежать пользователю www-data или вашему обычному личному пользователю, если пользователь / группа, от имени которой работает nginx (как определено в nginx.conf), имеет разрешение READ для всех файлов, которые будут обслуживаться и разрешение на выполнение для всех корневых веб-каталогов.

Запрещено означает, что NGINX не может открыть каталог, в котором хранятся файлы.

Журналы ошибок NGINX сообщат вам точную причину проблемы.

Журналы хранятся в / var / logs / nginx / error_log. Просто откройте файл и перейдите к последним строкам и посмотрите, какую именно ошибку вы получаете.

В идеале, создание каталога chmod 755 решит проблему.

Этот случай возникает, когда вы запускаете Mamp с сервером Nginx и сервером nginx, необходимая конфигурация каждой рабочей папки / каталога. для конфигурации nginx вы можете перейти в файл nginx.conf по пути

C: \ MAMP \ conf \ nginx \ nginx.conf

и напишите этот скрипт.

http {
    .....
    server {


    location ~* /test(.*)$ {
    root             C:/MAMP/htdocs/test;
        index            index.php;

        location ~ \.php$ {
            try_files        $uri =404;
            fastcgi_pass     127.0.0.1:9100;
            fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include          fastcgi_params;
        }
    }

  }
}

примечание: в этом скрипте тест это мой рабочий каталог. вы можете заменить это имя.

Если вы просто пытаетесь перечислить содержимое каталога, используйте autoindex on; лайк:

location /somedir {
       autoindex on;
}