Score:0

ไม่สามารถให้บริการไฟล์คงที่โดยใช้เซิร์ฟเวอร์ Nginx (Nginx Error 403 Forbidden)

ธง bs

ฉันติดตั้ง Nginx 1.18.0 บน Ubuntu 20.04 แล้ว ฉันพยายามให้บริการไฟล์ HTML ที่กำหนดเอง (จำนวนมาก) ผ่าน Nginx ไฟล์ HTML มีภาพเคลื่อนไหวของภาพออนไลน์และการทำแผนที่ ไฟล์ HTML บางไฟล์มีไฟล์ JS และ CSS ที่เกี่ยวข้องด้วย

แทนที่จะใช้ค่าเริ่มต้น ฉันสร้างบล็อกเซิร์ฟเวอร์ โดเมนของฉัน แบบนี้:

mkdir -p /var/www/my_domain/html
chown -R my_username /var/www/my_domain/html
chmod -R 755 /var/www/my_domain
ln -s /etc/nginx/sites-available/my_domain /etc/nginx/sites-enabled/

จากนั้นฉันก็ทำการทดสอบ my_html1.html (ที่นี่ไม่มี JS/CSS ที่เกี่ยวข้อง) ภายใน /var/www/my_domain/html และพยายามเข้าผ่านเบราว์เซอร์ Mozilla Firefox ฉันได้รับ ข้อผิดพลาด 403 ถูกห้าม.

ฉัน googled ข้อผิดพลาดและลองใช้คำแนะนำที่มีให้ ที่นี่แต่จนถึงตอนนี้ยังไม่ประสบความสำเร็จ ตัวอย่างเช่น ฉันพยายามกำหนดความเป็นเจ้าของของ โดเมนของฉัน ไดเรกทอรีไปยังผู้ใช้ www-data แต่ไม่ได้ช่วย

chown -R www-data:www-data /etc/nginx/sites-available/my_domain

ของผมเป็นแบบนี้ nginx.conf ดูเหมือน.

ผู้ใช้ www-data;
worker_processes อัตโนมัติ
pid /run/nginx.pid;
รวม /etc/nginx/modules-enabled/*.conf;
เหตุการณ์ {
        worker_connections 768;
}
http {
        ส่งไฟล์บน;
        tcp_nopush บน;
        tcp_nodelay บน;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        server_names_hash_bucket_size 64;
        รวม /etc/nginx/conf.d/*.conf;
        รวม /etc/nginx/sites-enabled/*;
}

และ /etc/nginx/sites-available/my_domain

เซิร์ฟเวอร์ {
        ฟัง 80;

        รูท /var/www/my_domain/html;
        ดัชนี my_html1.html;

        ชื่อเซิร์ฟเวอร์ my_domain www.my_domain;

        ที่ตั้ง / {
                try_files $uri $uri/ =404;
                เปิดดัชนีอัตโนมัติ;
                ปิด autoindex_exact_size;
        }
}

มีคนช่วยฉันแก้ไขปัญหานี้ได้ไหม

drookie avatar
za flag
คำตอบอยู่ใน `error.log` เสมอ
khajlk avatar
bs flag
บันทึกข้อผิดพลาดบอกเกี่ยวกับการอนุญาตถูกปฏิเสธ โดยเฉพาะ `*16 open() "/var/www/my_domain/html/my_html_file.html" ล้มเหลว (13: ปฏิเสธการอนุญาต), ไคลเอ็นต์: 127.0.0.1, เซิร์ฟเวอร์: my_domain, คำขอ: "GET /my_html_file.html HTTP/1.1",` แต่ฉันเดาว่ามันชัดเจนจากข้อผิดพลาด 403 ของเบราว์เซอร์
drookie avatar
za flag
จากนั้น nginx ก็ขาดการอนุญาต *อ่าน/ดำเนินการ* ในไดเร็กทอรีและ *อ่าน* ในไฟล์
khajlk avatar
bs flag
คุณหมายความว่าผู้ใช้ `www-data` ขาดการอนุญาตเหล่านี้ใช่หรือไม่ ดังนั้น `chown 755 -R www-data path/to/directory` นี่คือสิ่งที่ฉันต้องการหรือไม่
khajlk avatar
bs flag
ฉันระมัดระวังในการให้สิทธิ์ที่ไม่จำเป็นและต้องการหลีกเลี่ยง chmod 777 ต้องการโพสต์คำตอบที่แนะนำหรือไม่
drookie avatar
za flag
นะ มันต่ำกว่าระดับพื้นฐาน
khajlk avatar
bs flag
และระดับพื้นฐานที่จำเป็นคืออะไร?
drookie avatar
za flag
ที่มาหลังจากอ่านหนังสือเกี่ยวกับ UNIX แบบสุ่มหนึ่งเล่ม (อาจไม่จบจนกว่าจะจบ) และค้นหาคำถามของคุณ (อาจกดปุ่ม *Feeling lucky*)
djdomi avatar
za flag
โปรดแบ่งปันผลลัพธ์ของ `ls -Rl var/www/my_domain/html/`

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา