簡體   English   中英

Nginx 顯示 403 被禁止

[英]Nginx showing 403 forbidden

我在 nginx 上托管了 react 應用程序,當我嘗試訪問任何帶有擴展名的文件(例如 favicon.ico)時,nginx 會拋出 403 禁止錯誤,盡管它適用於基本的應用程序路由,即沒有擴展名的文件。 我在下面粘貼 nginx 配置,我嘗試訪問的靜態文件位於 /var/www/deebaco.com/html 中。 我是否需要編寫另一個位置塊來提供帶有擴展名的文件?

server {
    listen 80;
    server_name deebaco.com www.deebaco.com;
    return 301 https://www.deebaco.com$request_uri;
}
server {
    listen 443 ssl;
    server_name deebaco.com;

    ssl_certificate /root/deebaco.com.chained.crt;
    ssl_certificate_key /root/deebaco.com.key;
    return 301 https://www.deebaco.com$request_uri;
}

server {
    listen 443 ssl http2;

   add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

    server_name www.deebaco.com;
    root /var/www/deebaco.com/html;

    ssl_certificate /root/deebaco.com.chained.crt;
    ssl_certificate_key /root/deebaco.com.key;

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

    location / {
    try_files $uri /index.html;
    autoindex on;
    autoindex_exact_size off;
    }

}

檢查公共目錄的所有者,例如使用以下命令:

ls -l /var/www/deebaco.com/html

nginx通常以nobody運行,相反,它應該以與所有者相同的用戶運行。

編輯/etc/nginx/nginx.conf以設置相同的用戶。 例如,如果目錄歸www-data ,請添加以下內容:

user  www-data;

保存配置后,驗證它是否正確:

sudo nginx -t

如果上面的命令確認語法沒問題,重新加載nginx配置:

sudo systemctl reload nginx.service

這應該可以解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM