403 금지된 nginx(nginx/1.8.0)

403 금지된 nginx(nginx/1.8.0)

방금 DigitalOcean에 새 서버가 생겼고 다른 일을 시도하고 싶습니다. 나는 WordPress 사이트를 시작하고 싶기 때문에 여기에서 처음 1-3 단계를 따릅니다.https://deliciousbrains.com/hosting-wordpress-yourself-nginx-php-mysql/. 처음에는 모든 것이 순조롭게 진행되어 WordPress를 설치할 수 있었습니다. 불행히도 현재 내 사이트에는 403 Forbidden이 있습니다.

저는 우분투 14.04 x64를 사용하고 있습니다. 나는 이미 꽤 가끔 붙어 있었고 여전히 무슨 일이 일어나고 있는지 전혀 모릅니다. Nginx를 제거하고 다시 설치해봐도 마찬가지였습니다.

내 conf 파일은 다음과 같습니다.

사용자 실비아;
작업자 프로세스 1;
pid /run/nginx.pid;

이벤트 {
        작업자 연결 1024;
        # multi_accept on;
}

http {

        ##
        # 기본 설정
        ##

        파일 보내기;
        tcp_nopush 켜기;
        tcp_nodelay 켜짐;
        keepalive_timeout 15;
        유형_해시_최대_크기 2048;
        # server_tokens 꺼짐;
        client_max_body_size 64m;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect 꺼짐;

        /etc/nginx/mime.types를 포함합니다.
        default_type 애플리케이션/옥텟-스트림;

        ##
        # 로깅 설정
        ##

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

        ##
        # Gzip 설정
        ##

        압축을 푼다;
        gzip_disable "msie6";

        # gzip_vary on;
        # gzip_proxied 임의;
        # gzip_comp_level 2;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        # gzip_types 텍스트/일반 텍스트/css 애플리케이션/json 애플리케이션/javascript 텍스트/xml 애플리케이션/xml 애플리케이션/xml+rss 텍스트/javascript;

        ##
        # 가상 호스트 구성
        ##

        /etc/nginx/conf.d/*.conf를 포함합니다;
        /etc/nginx/sites-enabled/*를 포함합니다;

       서버 {
              80 default_server를 들어보세요;
               서버 이름 _;
               444를 반환합니다.
                    }

어떤 아이디어?

답변1

아마도 권한 문제일 가능성이 높습니다. www-data 사용자에게 웹 루트 디렉터리에 액세스할 수 있는 권한을 부여하세요. Aur 소유권을 부여할 수도 있습니다.

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

답변2

금지됨은 NGINX가 파일이 저장된 디렉터리를 열 수 없음을 의미합니다.

NGINX error_logs는 문제의 정확한 원인을 제공합니다.

로그는 /var/logs/nginx/error_log에 저장됩니다. 파일을 열고 마지막 줄로 이동하여 정확한 오류가 무엇인지 확인하십시오.

이상적으로는 chmod 755 디렉토리를 사용하면 문제가 해결됩니다.

답변3

403 문제도 있었는데, 이는 디렉토리 모드로 인해 발생했습니다.

홈 아래에 루트 디렉터리를 설정했으며 홈 디렉터리의 기본 모드는 600입니다.

그러다가 이런 글을 발견했어요https://gist.github.com/jhjguxin/6208474, 루트 디렉터리를 755로 변경하려고 시도했고 문제가 해결되었습니다.

따라서 Ubuntu 12.04의 사용자 홈 디렉터리에 대한 기본 권한은 700인 것 같습니다.** Nginx는 제공되어야 하는 파일에 대한 읽기 권한이 있어야 하며 루트에서 제공되는 경로를 따라 각 상위 디렉터리에 대한 실행 권한이 있어야 합니다. 파일.**

다음을 실행하여 사용자 디렉터리에 이러한 권한을 부여할 수 있습니다.

chmod 701 사용자_홈

많은 시스템의 홈 디렉토리에 대한 기본 권한 설정인 755를 사용할 수도 있습니다.

웹 루트의 디렉터리/파일은 nginx가 실행되는 사용자/그룹(nginx.conf에 정의됨)이 제공될 모든 파일에 대한 READ 권한을 갖고 있는 한 www-data 사용자 또는 일반 개인 사용자에 속할 수 있습니다. 모든 웹 루트 디렉토리에 대한 실행 권한.

답변4

단순히 디렉토리 내용을 나열하려는 경우 autoindex on;다음과 같이 사용하십시오.

location /somedir {
       autoindex on;
}

관련 정보