Score:0

เหตุใดเซิร์ฟเวอร์ Nginx จึงไม่สามารถเข้าถึงได้ทั้งๆ ที่เปิดพอร์ตอยู่

ธง jp

ฉันอยู่ในสถานการณ์ที่ผิดปกติมากและฉันใช้เวลาเกือบ 8 ชั่วโมงในการพยายามค้นหาว่าปัญหาคืออะไร

การตั้งค่า

ฉันมีเซิร์ฟเวอร์ที่ใช้ Debian 11 ภายในเซิร์ฟเวอร์นี้ ฉันมีการติดตั้งเครื่องเสมือน CentOS ด้วย KVM เครื่องเสมือนโฮสต์เว็บแอปพลิเคชันที่ซับซ้อนซึ่งอยู่เบื้องหลังเซิร์ฟเวอร์ Apache อินเทอร์เฟซเครือข่ายของ KVM คือ NAT ดังนั้นเพื่อเข้าถึงเว็บแอปพลิเคชัน ฉันได้ตั้งค่ากฎการส่งต่อพอร์ตโดยใช้ libvirt ตะขอตามที่อธิบายไว้ที่นี่:

https://wiki.libvirt.org/page/Networking#Forwarding_Incoming_Connections

การตั้งค่าของฉันส่งต่อการเชื่อมต่อขาเข้าไปยังพอร์ต 443 ไปยังเซิร์ฟเวอร์ Apache บนเครื่องเสมือน และวิธีนี้ใช้ได้ดี

ฉันยังได้ตั้งค่าเซิร์ฟเวอร์ Nginx บนเครื่องโฮสต์เนื่องจากฉันตั้งใจจะใช้เป็นพร็อกซีย้อนกลับ ฉันจะโฮสต์แอปพลิเคชันอื่นบนเซิร์ฟเวอร์โฮสต์บนพอร์ต 9000 โดยใช้ Nginx สำหรับ reverse proxy ฉันวางแผนที่จะเปลี่ยนเส้นทางคำขอทั้งหมดไปที่ https://example.com ไปยังเครื่องเสมือนและคำขอทั้งหมดไปยัง https://example.com/app/ ไปยังเว็บแอปพลิเคชันที่ทำงานบนพอร์ต 9000

ปัญหา

ฉันติดตั้งเซิร์ฟเวอร์ Nginx หลังจากตั้งค่าเครื่องเสมือนและกฎการส่งต่อพอร์ตที่เกี่ยวข้อง แต่เมื่อฉันพยายามเรียกใช้หน้าเริ่มต้นของเซิร์ฟเวอร์ Nginx ไม่สามารถเข้าถึงได้ ฉันเข้าใจว่าพอร์ต 443 ได้รับการส่งต่อไปยัง VM ก็เลยลองโหลดดู http://example.com คาดหวังว่าจะโหลดหน้าเริ่มต้นของ Nginx บนพอร์ต 80 แต่มันก็บอกว่าไม่สามารถเข้าถึงเว็บไซต์ได้

สิ่งที่ฉันได้ลองไปแล้ว?

ฉันสงสัยว่ากฎการส่งต่อพอร์ตจากโฮสต์ไปยังแขกอาจเป็นสาเหตุหลักที่นี่ ดังนั้นฉันจึงเปลี่ยนกฎการส่งต่อพอร์ตจากพอร์ต 443 เป็น 8000 ดังนั้นคำขอใด ๆ ที่ไปยังพอร์ต 8000 จะถูกส่งต่อไปยังเซิร์ฟเวอร์ Apache บน VM แต่หลังจากทำเช่นนี้ พอร์ต 443 ก็ไม่สามารถเข้าถึงได้เช่นกัน

ฉันพยายามล้าง iptables อย่างสมบูรณ์ตามที่อธิบายไว้ที่นี่:

ล้างและรีเซ็ต iptables ใน Debian

แต่ถึงกระนั้นเซิร์ฟเวอร์ Nginx ยังไม่สามารถเข้าถึงได้

นอกจากนี้ หลังจากล้าง iptables แล้ว เมื่อฉันพยายามเข้าถึงแอปพลิเคชันที่ทำงานบนพอร์ต 9000 ด้วย http://example.com:9000 ฉันได้รับ ข้อผิดพลาด 400 คำขอไม่ถูกต้อง และเมื่อฉันเปลี่ยนโปรโตคอลเป็น httpsหน้าจะไม่สามารถเข้าถึงได้

คำแนะนำใด ๆ จะเป็นประโยชน์มาก ขอขอบคุณ.

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

โพสต์คำตอบ

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