Score:0

ไม่สามารถเข้าถึง Tomcat servlet โดยใช้ httpd ajp proxy ใน Docker

ธง cn

นักเทียบท่า httpd และ Tomcat เป็นเรื่องใหม่สำหรับฉัน

สิ่งที่ฉันต้องการจะทำ: เข้าถึง Tomcat Servlet ผ่าน httpd ajp reverse proxy

ฉันกำลังสร้างคอนเทนเนอร์สองคอนเทนเนอร์ภายใต้เครือข่ายบริดจ์เดียวกัน อันหนึ่งรัน httpd และอีกอันเป็นทอมแคท

ปัญหา: ฉันไม่สามารถเข้าถึง Tomcat ผ่าน httpd Httpd ส่งคืนข้อผิดพลาด 403 ฉันสามารถเข้าถึงได้ผ่านพอร์ต 8080 ถ้าฉันเปิดเผยต่อโฮสต์ ฉันได้อ่านบทความมากมาย แต่ไม่เข้าใจว่าฉันทำอะไรผิด การกำหนดค่าปัจจุบันควรทำงานตามความเข้าใจของฉัน แต่แน่นอนว่าฉันขาดอะไรไป

ภาพหน้าจอของหน้าข้อผิดพลาด

กรุณาชี้แนะฉันว่าฉันทำอะไรผิด

การกำหนดค่าและไฟล์นักเทียบท่าของฉัน โปรดดูที่ ที่เก็บ Git ที่นี่. ฉันรันคอนเทนเนอร์โดยสร้างอิมเมจก่อนแล้วรันตาม

# เริ่มเว็บคอนเทนเนอร์
นักเทียบท่าเรียกใช้ -dit --name httpd.container -p 80:80 --network extope-network httpd-101-image
# เริ่มคอนเทนเนอร์ AP
นักเทียบท่าเรียกใช้ -dit --name tomcat.container -p 8080:8080 --network extope-network --add-host=host.docker.internal:host-gateway tomcat-101-image
in flag
ข้อผิดพลาด 403 มาจาก Tomcat ไม่ใช่ httpd httpd ของคุณทำงานได้ดี
Mirza Prangon avatar
cn flag
ทำไม Tomcat ถึงส่งคืน 403 เมื่อเข้าถึงผ่าน httpd เนื่องจากการเข้าถึงโดยพอร์ต 8080 ทำงานได้ดี
Gerard H. Pille avatar
in flag
@GeraldSchneider คุณอาจเข้าใจผิดด้วยการกำหนดค่าปัจจุบัน
Score:0
ธง in

ลบคำพูดออกจากความลับใน httpd config ของคุณ

ProxyPass "/docs" "ajp://tomcat.container:8009/docs" secret=test_ajp_secret
ProxyPass "/manager/" "ajp://tomcat.container:8009/manager/" secret=test_ajp_secret

หลังจากนั้นก็ใช้งานได้

Mirza Prangon avatar
cn flag
สิ่งนี้ช่วยแก้ปัญหาของฉันได้จริง! เอกสารจะมีความชัดเจนมากขึ้นในเรื่องนี้ว่าห้ามใช้อัญประกาศคู่
Score:0
ธง in

server.xml ของคุณเปลี่ยนเส้นทางการรับส่งข้อมูลไปยังพอร์ต 8443 แต่

  1. ไม่จัดการพอร์ตนั้น (ตัวจัดการถูกแสดงความคิดเห็น)
  2. คอนเทนเนอร์ไม่ยอมรับทราฟฟิก สำหรับพอร์ตนั้น

ใน httpd.conf ฉันเห็น "รวม conf/httpd_extope.conf" แต่ไม่มี httpd_extope.conf http_proxy.conf พยายามติดต่อคอนเทนเนอร์บนพอร์ต 8009 ซึ่งข้อสังเกตสองข้อข้างต้นก็ใช้ได้เช่นเดียวกัน

Mirza Prangon avatar
cn flag
ขอบคุณ ฉันได้ลองลบบรรทัดพอร์ตการเปลี่ยนเส้นทางบนตัวเชื่อมต่อ ajp แล้ว แต่ปัญหายังคงอยู่ อย่างไรก็ตาม ในการกำหนดค่าตัวเชื่อมต่อสำหรับพอร์ต 8080 ยังมีบรรทัดสำหรับเปลี่ยนเส้นทางไปยังพอร์ต 8443 เดียวกัน แต่ฉันสามารถเข้าถึงได้ผ่านพอร์ต 8080 ทำไมถึงเป็นเช่นนั้น?
Gerard H. Pille avatar
in flag
จัดการพอร์ต 8080 อย่างถูกต้อง ดูปัญหาอื่นที่คุณมีด้านบน
Mirza Prangon avatar
cn flag
ขออภัย ฉันเปลี่ยนชื่อไฟล์ก่อนแชร์ ชื่อไฟล์ถูกต้องในสภาพแวดล้อมของฉัน ฉันจะแก้ไขสิ่งนั้น
Gerard H. Pille avatar
in flag
นั่นไม่ได้เปลี่ยนปัญหากับพอร์ต 8009

โพสต์คำตอบ

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