Score:0

Raspberry pi ที่ใช้ nginx ตอบสนอง 200 สำหรับ localhost, 404 เมื่อเข้าถึงผ่านชื่อโฮสต์

ธง cn
dma

ฉันได้ตั้งค่าการติดตั้งวานิลลาของ nginx บนราสเบอร์รี่ pi แล้ว

การกำหนดค่าเซิร์ฟเวอร์:

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

    รูท /home/pi/www;

    ดัชนี index.html index.htm;

    ชื่อเซิร์ฟเวอร์ _;

    ที่ตั้ง / {
        # ส่งคืน 418 เมื่อไม่พบ ไม่ใช่มาตรฐาน แต่เป็นการทดสอบที่มีประโยชน์
        try_files $uri $uri/ =418;
    }
}

การดัดผมผ่าน localhost ฉันได้รับการตอบกลับ การดัดชื่อโฮสต์ฉันได้รับ 404 ไม่มีรายการในบันทึกการเข้าถึงสำหรับรายการหลัง มีเพียงรายการแรกเท่านั้น:

pi@pik3s $ ชื่อโฮสต์
pik3s
pi@pik3s $ curl localhost
<h1>สวัสดี</h1>
pi@pik3s $ curl pik3s
ไม่พบหน้า 404
pi@pik3s $ หาง /var/log/nginx/access.log
::1 - - [22/มิ.ย./2021:13:51:32 +0100] "GET / HTTP/1.1" 200 15 "-" "curl/7.64.0"

ฉันไม่เข้าใจว่า 404 มาจากไหนเมื่อฉันส่งคืน 418 เนื่องจากไม่พบการทดสอบและ 404 ดูเหมือนจะไม่โดน nginx เลย

อัปเดต: 2021-06-23: ฉันตั้งค่าบันทึกข้อผิดพลาดเป็น 'debug' และนี่คือเนื้อหา:

$ cat /var/log/nginx/error.log
23/06/2021 10:53:00 [debug] 15325#15325: เหตุการณ์เพิ่ม epoll: fd:6 op:1 ev:10000001
23/06/2021 10:53:00 [debug] 15325#15325: เหตุการณ์เพิ่ม epoll: fd:7 op:1 ev:10000001
23/06/2021 10:53:00 [debug] 15326#15326: เหตุการณ์เพิ่ม epoll: fd:6 op:1 ev:10000001
23/06/2021 10:53:00 [debug] 15326#15326: เหตุการณ์เพิ่ม epoll: fd:7 op:1 ev:10000001
23/06/2021 10:53:00 [debug] 15328#15328: เหตุการณ์เพิ่ม epoll: fd:6 op:1 ev:10000001
23/06/2021 10:53:00 [debug] 15328#15328: เหตุการณ์เพิ่ม epoll: fd:7 op:1 ev:10000001
23/06/2021 10:53:00 [debug] 15330#15330: epoll add event: fd:6 op:1 ev:10000001
23/06/2021 10:53:00 [debug] 15330#15330: เหตุการณ์เพิ่ม epoll: fd:7 op:1 ev:10000001

เช่น ดูเหมือนว่าคำขอจะหยุดก่อนที่จะถึง nginx

อัปเดต: 2021-06-25: ตรวจสอบแล้ว ขด -v และ โลคัลโฮสต์ ผลตอบแทน เซิร์ฟเวอร์: nginx/1.14.2 ในขณะที่ pik3s ส่งคืนหมายเลข เซิร์ฟเวอร์.

ฉันตระหนักว่า / etc / โฮสต์ แก้ไขเฉพาะ pik3s เป็นที่อยู่ IPv4 ดังนั้นฉันจึงเพิ่ม ::1 เป็นทางเลือกและตอนนี้ใช้งานได้ (บนเครื่องท้องถิ่น)

นี่แสดงว่า nginx กำลังฟังบน IPv6 เท่านั้น

$ sudo netstat -ltnp | เกรป :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* ฟัง 26923/nginx: หลัก 
tcp6 0 0 :::80 :::* ฟัง 26923/nginx: หลัก 

แต่เป็นการฟัง

Michael Hampton avatar
cz flag
ข้อผิดพลาด `404 page not found` ไม่ได้มาจาก nginx แต่มาจากเว็บแอปพลิเคชันที่เขียนด้วยภาษา Go
cn flag
dma
ไม่มีอะไรอื่นที่ฟังบนพอร์ต 80: sudo netstat -ltnp | grep -w ':80' --> tcp6 0 0 :::80 :::* ฟัง 5361/nginx: หลัก
Nikita Kipriyanov avatar
za flag
โปรดสังเกตว่า 404-s และเงื่อนไขข้อผิดพลาดอื่นๆ ควรลงทะเบียนใน `error.log` นั่นคืออะไร?
cn flag
dma
เพิ่มการอัปเดตด้วยบันทึกข้อผิดพลาดด้านบน

โพสต์คำตอบ

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