Score:0

nginx ส่งคืน 404 เมื่อให้บริการ React จากไดเรกทอรีย่อย

ธง mp

ฉันเริ่มต้นด้วยแอปพลิเคชัน React ที่ให้บริการจากรูท nginx จากนั้นฉันก็ทำตาม นี้ คำแนะนำในการให้บริการแอปพลิเคชันจากไดเร็กทอรีย่อย (/แอป). ตามที่แนะนำ ที่นี่ฉันเปลี่ยนการกำหนดค่า nginx จากสิ่งนี้:

ที่ตั้ง / {
    รูท /usr/share/nginx/html;
    try_files $uri $uri/ /index.html =404;           
}

สำหรับสิ่งนี้:

ตำแหน่ง / แอป {
    นามแฝง /usr/share/nginx/html;
    try_files $uri $uri/ /app/index.html =404;
}

มันใช้งานได้ - ฉันสามารถเรียกดู https://localhost/app และรับไฟล์คงที่ทั้งหมดตามที่คาดไว้ ปัญหาของฉันคือการโหลด URL ซ้ำซึ่งควบคุมโดย React Router (เช่น การส่ง URL ไปยังเซิร์ฟเวอร์ nginx ซึ่งรวมถึงส่วนต่างๆ หลังจาก /แอป). ตัวอย่างเช่น ก่อนการเปลี่ยนแปลง ทั้งสองสิ่งต่อไปนี้ทำงาน:

  • https://localhost <-- ใช้งานได้
  • https://localhost/auth/local <-- ใช้งานได้เช่นกัน

ครั้งแรกก็กลับหน้าแรก ประการที่สองทำให้ nginx เริ่มต้นเป็น index.html และเราเตอร์ React ดูแลนำทางภายในไปยังหน้าที่ถูกต้อง (/auth/local).

หลังจากการเปลี่ยนแปลง คำขอแรกใช้งานได้ แต่คำขอที่ 2 ล้มเหลวด้วย 404:

  • https://localhost/app <-- ใช้งานได้
  • https://localhost/app/auth/local <-- ล้มเหลวด้วย 404

โดยการเพิ่มส่วนหัวของการแก้ไขข้อบกพร่อง ฉันเห็นว่าหลังจากการเปลี่ยนแปลง ในกรณีที่ 2 nginx จะไม่ดำเนินการบล็อกเลย

ผมทำอะไรผิดหรือเปล่า?

โพสต์คำตอบ

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