Score:0

จะเปลี่ยนเส้นทางโดเมนย่อยของฉันไปที่ localhost:5000 ใน Https ด้วย Nginx ได้อย่างไร

ธง us

ฉันมีปัญหากับ nginx ของฉัน:

ฉันต้องเปลี่ยนเส้นทางการรับส่งข้อมูล http และ https ทั้งหมดเมื่อผู้ใช้ของฉันค้นหา "hermes.my-domain.com" ไปยังพอร์ต 5,000 บนเซิร์ฟเวอร์ nginx ซึ่งแอปของฉันอยู่

"hermes" เป็นชื่อโดเมนย่อยของฉัน

ดังนั้นฉันจึง:

เซิร์ฟเวอร์ {

ฟัง 80;
server_name hermes.my-domain.com;

ส่งคืน 301 https://hermes.my-domain.com$request_uri;
} 

เซิร์ฟเวอร์ {

ฟัง 443;
ssl_certificate /etc/certs/ssl/bundle.crt;
ssl_certificate_key /etc/certs/ssl/server.key;

    ที่ตั้ง / {
        proxy_pass http://localhost:5000;
        ปิด proxy_redirect;
        proxy_set_header โฮสต์ $host:$server_port;
        proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
        proxy_set_header เปิด X-Forwarded-Ssl;
    }
}

ทุกครั้งที่ฉันตกอยู่ในข้อผิดพลาด 502

ฉันไม่เข้าใจว่าเกิดอะไรขึ้น...

ถ้ามีใครทราบปัญหากรุณา ?

ขอบคุณมาก ๆ !

นี่คือผลลัพธ์ของฉันจาก error.log :

ฉันขอโทษ นี่คือผลลัพธ์ของฉันจาก error.log :

    24/11/2021 09:09:44 [ข้อผิดพลาด] 19384#19384: *332 การเชื่อมต่อ() ล้มเหลว (111: การเชื่อมต่อถูกปฏิเสธ) ขณะเชื่อมต่อกับอัปสตรีม ไคลเอ็นต์: 10.10.1.158 เซิร์ฟเวอร์: คำขอ: "GET / HTTP/ 1.1", อัพสตรีม: "http://127.0.0.1:5000/", โฮสต์: "hermes.my-domain.com"

24/11/2021 09:09:44 [ข้อผิดพลาด] 19384#19384: *332 การเชื่อมต่อ() ล้มเหลว (111: การเชื่อมต่อถูกปฏิเสธ) ขณะเชื่อมต่อกับอัปสตรีม ไคลเอ็นต์: 10.10.1.158 เซิร์ฟเวอร์: คำขอ: "GET / HTTP/ 1.1", อัพสตรีม: "http://[::1]:5000/", โฮสต์: "hermes.my-domain.com"

24/11/2021 09:09:44 [ข้อผิดพลาด] 19384#19384: *332 ไม่มีสตรีมสดขณะเชื่อมต่อกับอัปสตรีม ไคลเอ็นต์: 10.10.1.158 เซิร์ฟเวอร์: คำขอ: "GET /favicon.ico HTTP/1.1", อัปสตรีม : "http://localhost/favicon.ico", โฮสต์: "hermes.my-domain.com", ผู้อ้างอิง: "https://hermes.my-domain.com/"

ขอบคุณสำหรับความช่วยเหลือของคุณทั้งหมด !

Paul avatar
cn flag
หากนั่นคือการคัดลอกและวาง โปรดทราบว่าขณะนี้คุณมี `ตำแหน่ง /{` และน่าจะหมายความว่ามี `ตำแหน่ง / {` บ่อยครั้งที่ `nginx` จะใส่บางอย่างใน `error.log` - บางทีคุณสามารถโพสต์ได้หากมีบางอย่างอยู่ที่นั่น
us flag
ขอบคุณสำหรับการตอบกลับของคุณ. ฉันใส่ช่องว่างระหว่าง "/{" ในไฟล์ vhost ของฉัน แต่ผลลัพธ์ก็เหมือนเดิม และฉันเพิ่มเอาต์พุตบันทึก และนี่คือผลลัพธ์: 10.10.1.158 - - [23/พ.ย./2021:17:16:17 +0100] "GET / HTTP/1.1" 502 568 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML เช่น Gecko) Chrome/96.0.4664.55 Safari/537.36".
djdomi avatar
za flag
ปกติใช้ `listen 443 ssl;` หรือ `listen 443 ssl http2;` ไม่เคยอ่านเกี่ยวกับ ssl บน
us flag
ผลลัพธ์ด้านบนมาจาก `access.log` โปรดแก้ไขคำถามและเพิ่มเนื้อหาของ `error.log` เมื่อเกิดข้อผิดพลาด
in flag
`การเชื่อมต่อถูกปฏิเสธ' ระบุว่าไม่มีสิ่งใดฟังอยู่บนพอร์ต 5000 ตรวจสอบให้แน่ใจว่าบริการของคุณกำลังทำงานและฟังบนพอร์ตและอินเทอร์เฟซที่ถูกต้อง คุณสามารถทำได้โดยเรียกใช้ `ss -tnlp |grep :5000`
us flag
โอเค ถ้าฉันเข้าใจดี ปัญหาไม่ใช่ Vhost ของฉัน แต่เว็บแอปของฉันทำงานไม่ถูกต้องบนพอร์ต 5000 ของฉัน ?
in flag
มันเป็นไปได้ เราไม่สามารถพูดได้อย่างแน่นอนหากไม่เห็นผลลัพธ์ของคำสั่งดังกล่าว
us flag
ผลลัพธ์คือไม่มีอะไร ฉันทำการทดสอบกับพอร์ตอื่นในสิ่งที่ฉันรู้ว่าใช้งานอยู่ และฉันได้รับผลลัพธ์ แต่สำหรับ ss -tnlp |grep :5000 ฉันไม่มีอะไรเลย ดังนั้นฉันคิดว่าคุณพูดถูก ! และปัญหาอยู่ที่เว็บแอปของฉันมากกว่า ขอบคุณมากสำหรับคำตอบและความช่วยเหลือของคุณ
Score:1
ธง in

เซิร์ฟเวอร์แอปพลิเคชันของคุณไม่รับฟังพอร์ต 5000

การเชื่อมต่อถูกปฏิเสธ บ่งชี้ว่าไม่มีสิ่งใดรับฟังอยู่บนพอร์ตนั้นบนอินเทอร์เฟซนั้น

ผลลัพธ์ที่ว่างเปล่าของ ss -tnlp |grep :5000 ยืนยันว่าไม่มีสิ่งใดฟังอยู่บนพอร์ตนั้น

หากแอ็พพลิเคชันเซิร์ฟเวอร์ของคุณทำงานอยู่ ให้ตรวจสอบการกำหนดค่าพอร์ตที่ถูกต้อง ถ้าไม่ทำงานให้เริ่มต้น

โพสต์คำตอบ

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