Score:1

ย้อนกลับ Proxy ไปยังโลคัลคอนเทนเนอร์

ธง cn

ฉันต้องการเรียกใช้ Kafka บนนักเทียบท่าด้วย UI ของเว็บในบางโดเมนและ LINK ตัวอย่างเช่น:

http://somesite.com/kafka

ฉันใช้ docker-compose.yml นี้

รุ่น: '3.3'
บริการ:
  ผู้ดูแลสวนสัตว์:
    ภาพ: 'bitnami/zookeeper:ล่าสุด'
    พอร์ต:
      - '2181:2181'
    สิ่งแวดล้อม:
      - ALLOW_ANONYMOUS_LOGIN=ใช่
  คาฟคา:
    รูปภาพ: 'bitnami/kafka:latest'
    พอร์ต:
      - '9092:9092'
    สิ่งแวดล้อม:
      - KAFKA_BROKER_ID=1
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092
      - KAFKA_CFG_ZOOKEEPER_CONNECT=ผู้ดูแลสวนสัตว์:2181
      - ALLOW_PLAINTEXT_LISTENER=ใช่
    ขึ้นอยู่กับ:
      - ผู้ดูแลสวนสัตว์
  คาฟคา-ui:
    รูปภาพ: 'provectuslabs/kafka-ui:ล่าสุด'
    สิ่งแวดล้อม:
      - KAFKA_CLUSTERS_0_NAME=ท้องถิ่น
      - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=คาฟคา:9092
      - KAFKA_CLUSTERS_0_ZOOKEEPER=คนดูแลสวนสัตว์:2181
    ขึ้นอยู่กับ:
      - คาฟคา
    เครือข่าย:
      - ค่าเริ่มต้น
    พอร์ต:
      - '9099:8080'

เมื่อฉันตั้งค่า อาปาเช่2 โดยโดเมนโดยตรง kafka.somesite.comมันกำลังทำงานอยู่

<VirtualHost *:80>
  ServerName kafka.somesite.com
  ProxyPreserveHost On
  ProxyPass / http://127.0.0.1:9099/
  ProxyPassReverse / http://127.0.0.1:9099/
</VirtualHost>

แต่เมื่อฉันลองตั้งค่าโดเมนด้วยลิงค์ somesite.com/kafkaมีเพียงหน้าจอว่างเปล่า

<VirtualHost *:80>
  ServerName somesite.com
  ProxyPreserveHost On
  ProxyPass /kafka http://127.0.0.1:9099/
  ProxyPassReverse /kafka http://127.0.0.1:9099/
</VirtualHost>

ฉันจะทำให้ Kafka ใช้งานได้ด้วยลิงก์ได้อย่างไร

ขอขอบคุณ.

ar flag
ทำไมไม่ใช้คอนเทนเนอร์พร็อกซีย้อนกลับของ Nginx
in flag
Apache อาจให้บริการเนื้อหาหรือพร็อกซีกับบริการอื่นอยู่แล้ว
Score:0
ธง in

คุณต้องเปลี่ยนสองสิ่ง ก่อนอื่น คุณต้องกำหนดค่า URL พื้นฐานของคอนเทนเนอร์ kafka-ui คุณสามารถทำได้โดยใช้ SERVER_SERVLET_CONTEXT_PATH ตัวแปรสภาพแวดล้อม.

# ...
  คาฟคา-ui:
    รูปภาพ: 'provectuslabs/kafka-ui:ล่าสุด'
    สิ่งแวดล้อม:
      - KAFKA_CLUSTERS_0_NAME=ท้องถิ่น
      - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=คาฟคา:9092
      - KAFKA_CLUSTERS_0_ZOOKEEPER=คนดูแลสวนสัตว์:2181
      - SERVER_SERVLET_CONTEXT_PATH=/คาฟคา
# ...

หากคุณไม่ทำเช่นนั้น URL ทั้งหมดที่สร้างโดย kafka-ui จะเริ่มต้นที่ /ส่งผลให้ CSS, JavaScript และอื่นๆ ถูกดึงมาจาก / แทน /คาฟคา/.

จากนั้นคุณต้องปรับตัว พร็อกซีพาส คำสั่งไปยังเส้นทางนั้น:

ProxyPass /kafka/ http://127.0.0.1:9099/kafka/
ProxyPassReverse /kafka/ http://127.0.0.1:9099/kafka/

กับ พร็อกซีพาส ตรวจสอบให้แน่ใจเสมอว่าเครื่องหมายทับต่อท้ายของคุณตรงกัน ตามที่ระบุไว้ในเอกสาร:

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

Score:0
ธง my

ชื่อเซิร์ฟเวอร์ควรยังคงเป็น somesite.comเนื่องจาก Apache ยังคงคาดหวังให้เป็น URL พื้นฐาน เมื่อ URL เป็น somesite.com/kafka ควรเปลี่ยนเส้นทางไปที่ http://127.0.0.1:9099/

บรรทัดล่างสุด การกำหนดค่าที่สองควรใช้งานได้ตราบเท่าที่คุณตั้งค่าไว้ ชื่อเซิร์ฟเวอร์ somesite.com

genderbee avatar
cn flag
ไม่ มันใช้งานไม่ได้เช่นกัน

โพสต์คำตอบ

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