นี่คือสิ่งที่ฉันพยายามทำ:
ฉันมีเซิร์ฟเวอร์คลาวด์ Hetzner ขนาดเล็กที่ฉันเรียกใช้คอนเทนเนอร์นักเทียบท่าหลายตัวหนึ่งในนั้นคือคอนเทนเนอร์ NginX ที่ยอมรับการเชื่อมต่อและส่งต่อไปยังแอปพลิเคชันนักเทียบท่าอื่นๆ
ตอนนี้ฉันต้องการสร้างอุโมงค์ ssh ไปยังเซิร์ฟเวอร์เพื่อให้ฉันสามารถเข้าถึงแอปพลิเคชันในเครื่องผ่าน IP ของ Hetzner ดูเหมือนจะไม่ทำงาน
ฉันสร้างอุโมงค์ ssh ระยะไกลดังนี้:
ssh -R 80:127.0.0.1:8080 -N -f root@[รีโมต-ip]
สิ่งนี้ได้ผล เมื่อเข้าสู่ระบบผ่าน ssh และเรียก curl บนพอร์ตนั้น ฉันจะได้รับผลลัพธ์ตามที่คาดไว้ อย่างไรก็ตาม แอปพลิเคชันในเครื่องไม่สามารถเข้าถึงได้ผ่าน IP ของ Hetzner: [IP]:8080
มันบอกว่าการเชื่อมต่อถูกปฏิเสธ
ตกลง พอร์ต 8080 อาจถูกปิดใช้งาน ดังนั้นฉันจึงต้องการส่งต่อหนึ่งในโดเมนใน Nginx ไปยังพอร์ตนั้น
นี่มันน่าสนใจ ฉันต้องการแมปพอร์ต 8080 ใน docker-compose.yml และเข้าถึงแอปพลิเคชันผ่าน 172.17 0.1 เพื่อทดสอบว่าเป็นไปได้หรือไม่ ทันทีที่ฉันทำเช่นนั้นอุโมงค์ ssh ก็ยุ่งเหยิง เป็นสิ่งที่สามารถเกิดขึ้นได้?
น่าเสียดาย ฉันไม่มีประสบการณ์มากมายเกี่ยวกับเซิร์ฟเวอร์ ฉันแค่ต้องการเข้าถึงแอปพลิเคชันในเครื่องผ่าน URL สาธารณะ (ฉันมี IP แบบไดนามิก ดังนั้นฉันจึงคิดว่าอุโมงค์ ssh จะเป็นตัวเลือกที่เร็วที่สุด) บางทีฉันอาจคิดผิดทั้งหมด และ เป็นไปไม่ได้ที่จะบรรลุเป้าหมายของฉันเช่นนี้
เป็นไปได้หรือไม่ที่จะเข้าถึง ssh tunnel บนโฮสต์จากคอนเทนเนอร์ และถ้าเป็นเช่นนั้น จะทำอย่างไร