Score:2

403 ใน nginx เมื่อเข้าถึงไดเร็กทอรี

ธง cn

ฉันสร้างเซิร์ฟเวอร์อย่างง่ายเพื่อทดสอบว่า URL ที่มีโฟลเดอร์ทำงานอย่างไรใน nginx Nginx กำลังทำงานในนักเทียบท่า (nginx: ภาพล่าสุด)Nginx เรียกใช้ผู้ใช้ จิงซ์ (ค่าเริ่มต้นกำหนดไว้ใน /etc/nginx/nginx.conf).

เซิร์ฟเวอร์ {
        server_name example.com;

        ตำแหน่ง /ทดสอบ/ {
                รูท /var/www/test;
                ดัชนี index.html;
        }
}

และโครงสร้างนี้:

/var/www
âââ ทดสอบ
    âââ ดัชนี.html

แมว /var/www/test/index.html
ทดสอบ

ls -l /var/ | เกรป www
drwxr-xr-x 3 รูท รูท 4096 15 ม.ค. 23:33 www

ls -l /var/www/ทดสอบ/
-rw-r--r-- 1 รูท 7 ม.ค. 58 21:08 น. index.html

ตอนนี้ฉันมีปัญหานี้:

ขด http://example.com/test/
<html>
<head><title>403 ห้าม</title></head>
<เนื้อหา>
<center><h1>403 ห้าม</h1></center>
<hr><center>nginx/1.21.5</center>
</body>
</html>
ขด http://example.com/test
<html>
<head><title>301 ย้ายอย่างถาวร</title></head>
<เนื้อหา>
<center><h1>301 ย้ายอย่างถาวร</h1></center>
<hr><center>nginx/1.21.5</center>
</body>
</html>

ฉันคาดว่าจะเห็น "ทดสอบ" เมื่อฉันเข้าถึง http://example.com/test หรือ http://example.com/test/. ผมทำอะไรผิดหรือเปล่า?

Score:0
ธง us

สองสิ่งที่แยกจากกันกำลังเกิดขึ้น

nginx ต่อท้าย URI คำขอที่ส่วนท้ายของเส้นทางของ ราก คำสั่งเมื่อให้บริการตามคำขอ ในกรณีของคุณ URL คือ http://example.com/testURI ที่ทำให้เป็นมาตรฐานคือ /ทดสอบ และคุณ ราก เป็น /var/www/ทดสอบ.

สิ่งนี้ทำให้ nginx มองหา index.html ใน /var/www/test/test/index.html.

เพื่อสร้างเซิร์ฟเวอร์ nginx /var/www/test/index.htmlคุณต้องใช้:

ราก /var/www;

หรือ

นามแฝง /var/www/test;

โดยใช้ ราก เป็นวิธีที่ชอบ

สำหรับ http://example.com/test ส่วน nginx ส่งการเปลี่ยนเส้นทาง 301 ไปที่ http://example.com/test/ เมื่อมีไดเรกทอรี ทดสอบ บนเซิร์ฟเวอร์คำถามของคุณไม่ได้แสดงว่าคืออะไร ราก คำสั่งในระดับบนดังนั้นฉันไม่รู้ว่าการมีอยู่ของเส้นทางใด ทดสอบ มีการตรวจสอบ

PhilHarmonie avatar
cn flag
แต่ทำไมฉันไม่เห็น 404 สำหรับ `/var/www/test/test/index.html`
us flag
ที่จริงแล้ว nginx ส่งคืน 403 สำหรับ `http://example.com/test/` และ 404 สำหรับคำขอ `http://example.com/test/index.html` ด้วยการกำหนดค่าปัจจุบันของคุณ ทำไม nginx ถึงทำงานแบบนี้ ฉันไม่รู้

โพสต์คำตอบ

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