Điểm:1

Đảo ngược Proxy tới vùng chứa cục bộ

lá cờ cn

Tôi cần chạy Kafka trên docker với giao diện người dùng web trên một số miền VÀ LIÊN KẾT cụ thể, ví dụ:

http://somesite.com/kafka

Tôi đang sử dụng docker-compose.yml này.

phiên bản: '3.3'
dịch vụ:
  người giữ vườn thú:
    hình ảnh: 'bitnami/zookeeper: mới nhất'
    cổng:
      - '2181:2181'
    môi trường:
      - ALLOW_ANONYMOUS_LOGIN=có
  kafka:
    hình ảnh: 'bitnami/kafka:mới nhất'
    cổng:
      - '9092:9092'
    môi trường:
      - KAFKA_BROKER_ID=1
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092
      - KAFKA_CFG_ZOOKEEPER_CONNECT=người giữ vườn thú:2181
      - ALLOW_PLAINTEXT_LISTENER=có
    phụ thuộc:
      - nhân viên vườn thú
  kafka-ui:
    hình ảnh: 'provectuslabs/kafka-ui: mới nhất'
    môi trường:
      - KAFKA_CLUSTERS_0_NAME=cục bộ
      - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:9092
      - KAFKA_CLUSTERS_0_ZOOKEEPER=người giữ vườn thú:2181
    phụ thuộc:
      - kafka
    mạng:
      - mặc định
    cổng:
      - '9099:8080'

Khi tôi đặt apache2 theo tên miền trực tiếp kafka.somesite.com, nó đang làm việc.

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

Nhưng khi tôi thử đặt tên miền bằng liên kết somesite.com/kafka, chỉ có màn hình trống.

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

Làm cách nào tôi có thể làm cho Kafka hoạt động với liên kết?

Cảm ơn bạn.

lá cờ ar
Tại sao không sử dụng bộ chứa proxy ngược Nginx?
lá cờ in
Có thể Apache đã cung cấp nội dung hoặc ủy quyền cho các dịch vụ khác.
Điểm:0
lá cờ my

Tên máy chủ vẫn phải là somesite.com, bởi vì Apache vẫn mong đợi đó là URL cơ sở. Khi URL là somesite.com/kafka nó sẽ chuyển hướng nó đến http://127.0.0.1:9099/

Điểm mấu chốt, cấu hình thứ hai sẽ hoạt động miễn là bạn đặt Tên máy chủ somesite.com

genderbee avatar
lá cờ cn
Không, nó cũng không hoạt động.
Điểm:0
lá cờ in

Bạn phải thay đổi hai điều. Trước tiên, bạn cần định cấu hình URL cơ sở của vùng chứa kafka-ui, bạn có thể thực hiện điều đó bằng cách sử dụng SERVER_SERVLET_CONTEXT_PATH biến môi trường.

#...
  kafka-ui:
    hình ảnh: 'provectuslabs/kafka-ui: mới nhất'
    môi trường:
      - KAFKA_CLUSTERS_0_NAME=cục bộ
      - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:9092
      - KAFKA_CLUSTERS_0_ZOOKEEPER=người giữ vườn thú:2181
      - SERVER_SERVLET_CONTEXT_PATH=/kafka
#...

Nếu không, tất cả các URL được tạo bởi kafka-ui sẽ bắt đầu tại /, dẫn đến CSS, JavaScript và như vậy được tìm nạp từ / thay vì /kafka/.

Sau đó, bạn cần phải điều chỉnh các ProxyPass chỉ thị cho đường dẫn đó:

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

Với ProxyPass luôn đảm bảo các dấu gạch chéo ở cuối của bạn khớp với nhau, như đã lưu ý trong tài liệu:

Nếu đối số đầu tiên kết thúc bằng dấu /, thì đối số thứ hai cũng phải kết thúc bằng dấu / và ngược lại. Nếu không, các yêu cầu kết quả tới phần phụ trợ có thể thiếu một số dấu gạch chéo cần thiết và không mang lại kết quả như mong đợi.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.