【问题标题】:Docker tomcat behind apache httpd port 8009 not connectingapache httpd端口8009后面的Docker tomcat未连接
【发布时间】:2020-06-19 12:26:02
【问题描述】:

我可能缺少一些简单的东西:

请求命中 apache httpd 容器-> 找到 ajp worker -> 在 docker 网络上找到 worker 主机-> 尝试将请求发送到 tomcat-> 失败,说 tomcat 容器未在端口 8009 上侦听

Docker-compose 看起来像

version: '2'
  services:
   httpd:

   build:
     context: .
     dockerfile: httpd/Dockerfile
   container_name: "http-proxy"
   volumes:
    - ./httpd/conf/000-default.conf:/etc/apache2/sites-available/000-default.conf
    - ./httpd/conf/workers.properties:/etc/apache2/workers.properties
    - ./httpd/conf/jk.conf:/etc/apache2/mods-available/jk.conf
    - ./httpd/conf/apache2.conf:/etc/apache2/apache2.conf
   ports:
    - 80:80
tomcat:
  image: tomcat:8.5.51
  volumes:
    - ./tomcat/conf/server.xml:/usr/local/tomcat/conf/server.xml
  container_name: "app"
  expose:
   - 8009

workers.properties 看起来像

worker.app_worker.type=ajp13
worker.app_worker.host=app
worker.app_worker.port=8009

jk.conf 有

JkMount /app|/* app_worker

并且连接器在 tomcat server.xml 中可用

  <Connector protocol="AJP/1.3"
           address="::1"
           port="8009"
           redirectPort="8443" />

错误

 Failed opening socket to (192.168.164.4:8009) (errno=111)
 [error] ajp_send_request::jk_ajp_common.c (1728): 
 (app_worker) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port

我可以确认 tomcat 正在运行。

【问题讨论】:

  • 尝试将 --net=host 添加到 apache 和 tomcat,即使只是为了调试正确的端口被暴露和监听
  • 您解决了这个问题吗?您能分享一下您的解决方案吗?

标签: apache docker tomcat8 mod-jk


【解决方案1】:

使用主机网络应该可以解决这个问题:

tomcat:
  network_mode: 'host'

无论出于何种原因,AJP 拒绝为我使用桥接网络。而且我的环境更简单:它是一个单独的容器,其中部署了嵌入式 Tomcat。我测试了与 AJP 客户端 (https://bz.apache.org/bugzilla/show_bug.cgi?id=47242) 的连接并将问题缩小到 Tomcat AJP 端。

【讨论】:

    【解决方案2】:

    我也遇到了这个问题。我的 docker-compose 在共享桥接网络上有 Apache 和 Tomcat 容器。我没有使用 localhost,而是在 server.xml 中将 AJP 连接器地址设置为 0.0.0.0。重新启动 Tomcat 容器后,我能够从 8009 上的 Apache 容器连接到它。

    【讨论】:

      猜你喜欢
      • 2012-01-20
      • 2016-05-11
      • 2012-11-22
      • 2012-06-30
      • 2013-10-13
      • 2021-11-01
      • 2019-03-25
      • 2012-01-22
      • 1970-01-01
      相关资源
      最近更新 更多