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。

我使用的是 Ubuntu 14.04 x64。有時我已經卡住了很長時間,但仍然不知道發生了什麼。我什至嘗試刪除Nginx並重新安裝,仍然如此。

這是我的conf檔:

用戶西爾維亞;
工作進程 1;
pid /run/nginx.pid;

事件{
        工人連接1024;
        # 多接受;
}

http{

        ##
        # 基本設置
        ##

        發送文件;
        tcp_nopush 開啟;
        tcp_nodelay 開啟;
        keepalive_timeout 15;
        types_hash_max_size 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 開啟;
        gzip_disable“msie6”;

        # gzip_vary 開啟;
        # gzip_proxied 任意;
        # gzip_comp_level 2;
        # gzip_buffers 16 8k;
        # gzip_http_版本 1.1;
        # gzip_types 文字/純文字/css 應用程式/json 應用程式/javascript 文字/xml 應用程式/xml 應用程式/xml+rss 文字/javascript;

        ##
        # 虛擬主機配置
        ##

        包括/etc/nginx/conf.d/*.conf;
        包括/etc/nginx/sites-enabled/*;

       伺服器 {
              監聽 80 預設伺服器;
               伺服器名稱 _;
               返回444;
                    }

任何想法?

答案1

最有可能的是權限問題。授予 www-data 使用者存取您的 Web 根目錄的權限。您也可以授予所有權。

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

答案2

禁止意味著 NGINX 無法開啟儲存檔案的目錄。

NGINX error_logs 將為您提供問題的確切原因。

日誌儲存在/var/logs/nginx/error_log中。只需打開文件並轉到最後幾行,看看您得到的特定錯誤是什麼。

理想情況下,執行 chmod 755 目錄即可解決問題。

答案3

我也遇到了403問題,這是由目錄模式引起的。

我把根目錄設定在home下,主目錄預設模式是600。

然後我找到了這篇文章https://gist.github.com/jhjguxin/6208474,並嘗試將根目錄改為755,問題解決。

因此,Ubuntu 12.04 中使用者主目錄的預設權限似乎是 700。 ** Nginx 需要對應該提供服務的檔案具有讀取權限,並且在從根到服務的路徑上的每個父目錄中具有執行權限檔案。 **

您可以透過運行來授予您的使用者目錄這些權限

chmod 701 用戶首頁

您也可以使用 755,這是許多系統上主目錄的預設權限設定。

Web 根目錄中的目錄/文件可以屬於 www-data 用戶或常規個人用戶,只要 nginx 運行的用戶/群組(如 nginx.conf 中定義)對所有要提供服務的文件具有 READ 權限,並且對所有Web 根目錄的執行權限。

答案4

如果您只是想列出目錄內容,請使用autoindex on;以下命令:

location /somedir {
       autoindex on;
}

相關內容