Điểm:0

Không thể truy cập servlet Tomcat bằng proxy httpd ajp trong Docker

lá cờ cn

Docker, httpd và tomcat là mới đối với tôi.

Những gì tôi muốn làm: Truy cập servlet tomcat thông qua httpd ajp proxy ngược.

Tôi đang tạo hai vùng chứa trong cùng một mạng cầu nối, một vùng chạy httpd, một vùng chứa tomcat khác.

Vấn đề: Tôi không thể truy cập tomcat thông qua httpd. Httpd trả về lỗi 403. Tôi có thể truy cập thông qua cổng 8080 nếu tôi đưa nó lên máy chủ. Tôi đã đọc nhiều bài viết nhưng không hiểu những gì tôi đang làm sai. Cấu hình hiện tại sẽ hoạt động theo sự hiểu biết của tôi nhưng chắc chắn tôi đang thiếu thứ gì đó.

Ảnh chụp màn hình của trang lỗi

Vui lòng cho tôi gợi ý những gì tôi đang làm sai.

Cấu hình và dockerfiles của tôi xin vui lòng xem Kho lưu trữ Git tại đây. Tôi chạy vùng chứa bằng cách tạo hình ảnh đầu tiên và chạy bằng cách làm theo

# Bắt đầu vùng chứa web
docker run -dit --name httpd.container -p 80:80 --network extope-network httpd-101-image
# Bắt đầu vùng chứa AP
docker run -dit --name tomcat.container -p 8080:8080 --network extope-network --add-host=host.docker.internal:host-gateway tomcat-101-image
lá cờ in
Lỗi 403 đến từ tomcat, không phải httpd. httpd của bạn đang hoạt động tốt.
Mirza Prangon avatar
lá cờ cn
Tại sao tomcat trả lại 403 khi được truy cập qua httpd? Khi truy cập bằng cổng 8080 hoạt động tốt.
Gerard H. Pille avatar
lá cờ in
@GeraldSchneider, bạn có thể nhầm với cấu hình hiện tại.
Điểm:0
lá cờ in

server.xml của bạn chuyển hướng lưu lượng truy cập đến cổng 8443, nhưng,

  1. không xử lý cổng đó (trình xử lý được nhận xét)
  2. vùng chứa không chấp nhận lưu lượng cho cổng đó.

Trong httpd.conf tôi thấy "Bao gồm conf/httpd_extope.conf", nhưng không có httpd_extope.conf. http_proxy.conf cố gắng liên hệ với bộ chứa trên cổng 8009, mà hai nhận xét trên cũng hợp lệ.

Mirza Prangon avatar
lá cờ cn
Cảm ơn bạn, tôi đã thử xóa dòng cổng chuyển hướng trên trình kết nối ajp nhưng sự cố vẫn tiếp diễn. Nhân tiện, trong cấu hình trình kết nối cho cổng 8080, cũng có một dòng để chuyển hướng đến cùng một cổng 8443, nhưng tôi có thể truy cập qua cổng 8080. Tại sao vậy?
Gerard H. Pille avatar
lá cờ in
Cổng 8080 được xử lý chính xác. Xem một vấn đề khác mà bạn có ở trên.
Mirza Prangon avatar
lá cờ cn
Xin lỗi tôi đã thay đổi tên tập tin trước khi chia sẻ. Tên tệp là chính xác trong môi trường của tôi. tôi sẽ sửa nó
Gerard H. Pille avatar
lá cờ in
Điều đó không thay đổi vấn đề với cổng 8009.
Điểm:0
lá cờ in

Xóa các trích dẫn khỏi bí mật trong cấu hình httpd của bạn.

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

Sau đó nó hoạt động.

Mirza Prangon avatar
lá cờ cn
Điều này thực sự đã giải quyết vấn đề của tôi! Các tài liệu có thể rõ ràng hơn về vấn đề này nói rằng không sử dụng dấu ngoặc kép.

Đă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.