首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Apache2.4.29和mod_jk 1.2.42未转发给tomcat

Apache2.4.29和mod_jk 1.2.42未转发给tomcat
EN

Stack Overflow用户
提问于 2017-12-08 15:42:54
回答 3查看 3.5K关注 0票数 4

我正在使用mod_jk 1.2.42对tomcat 8.5.11进行Apache2.4.29安装。

我的问题是apache + mod_jk没有将请求转发给tomcat。

我们使用mod_jk (1.2.25)对相同的tomcat安装了以前的apache (2.2.31),它的工作正常。

这是我们在mod_jk.log文件上遇到的唯一异常错误:

代码语言:javascript
运行
复制
[Fri Dec 08 08:02:26.659 2017] [32025:140457247692544] [debug] jk_child_init::mod_jk.c (3478): Initialized mod_jk/1.2.42
[Fri Dec 08 08:02:41.987 2017] [31596:140455607994112] [debug] jk_translate::mod_jk.c (3859): missing uri map for mycompany.com:/SCDO
[Fri Dec 08 08:02:41.987 2017] [31596:140455607994112] [debug] jk_map_to_storage::mod_jk.c (4027): missing uri map for mycompany.com:/SCDO
[Fri Dec 08 08:02:42.007 2017] [31596:140455607994112] [debug] jk_translate::mod_jk.c (3859): missing uri map for mycompany.com:/error.html
[Fri Dec 08 08:02:42.007 2017] [31596:140455607994112] [debug] jk_map_to_storage::mod_jk.c (4027): missing uri map for mycompany.com:/error.html
[Fri Dec 08 08:19:53.665 2017] [31598:140457247692544] [debug] wc_shutdown::jk_worker.c (390): Shutting down worker ajp13

在访问日志上,我们只得到一个404错误。

这是httpd.conf的包含:

代码语言:javascript
运行
复制
Include conf/mod_jk.conf

这是mod_jk配置:

代码语言:javascript
运行
复制
<IfModule !mod_jk.c>
  LoadModule jk_module "/opt/apache-2.4.29/modules/mod_jk.so"
</IfModule>

JkWorkersFile "/opt/apache-2.4.29/conf/workers.properties"
#enable this log only for troubleshooting
JkLogFile "/opt/apache-2.4.29/logs/mod_jk.log"
JkLogLevel debug

    JkMount /servlets-examples ajp13
    JkMount /servlets-examples/* ajp13

    JkMount /jsp-examples ajp13
    JkMount /jsp-examples/* ajp13

    JkMount /probe ajp13
    JkMount /probe/* ajp13

   JkMount /SCDO  ajp13
   JkMount /SCDO/* ajp13

   JkMount /test  ajp13
   JkMount /test/* ajp13

   JkMount /mod_jk_status mystatus

这是workers.properties:

代码语言:javascript
运行
复制
worker.list=ajp13
worker.ajp13.port=8010
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.socket_timeout=300
worker.ajp13.max_packet_size=20000


worker.list=mystatus
worker.mystatus.type=status

任何想法都会感激的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-01-01 21:23:04

我也有同样的问题,这让我发疯了。我装LetsEncrypt的时候开始了.下面是对我有用的解决方案:在每个JkMountCopy部分中添加一个“VirtualHost On”。

例如:

在/etc/httpd/ .conf .d/文件夹中,编辑任何具有VirtualHost定义的VirtualHost文件(grep VirtualHost *.conf) --可能有多个:

代码语言:javascript
运行
复制
<VirtualHost _default_:443>

#Add the following line
JkMountCopy On 
....

这只是一个例子,它可能不会说默认:443-另一个是端口80,正如您可能猜到的那样。如果您的主httpd.conf中有一个httpd.conf部分,那么它可能也需要它。我没有。

票数 3
EN

Stack Overflow用户

发布于 2021-01-29 20:45:47

让我在Apache => Tomcat通信问题中通过AJP再添加一个可能的原因。

在我的例子中,我已经在机器上安装了libasache2-mod-jk库,它创建了一个单独的工人文件。我检查了主机上的当前文件:

代码语言:javascript
运行
复制
find / -name "workers.properties"

并得到:

代码语言:javascript
运行
复制
/etc/apache2/workers.properties
/etc/libapache2-mod-jk/workers.properties

所以在此之前:

  • 我处理错误的文件(在libriache2-mod-jk中),因为我没有指向Apache。
  • Apache在配置中使用了它的默认文件(在apache2中)和错误的工作人员标识符,因为我从错误的文件中获取了它。

以防万一你正面临着类似的问题,而且你确信你已经尝试过所有的事情--看看这个。

票数 1
EN

Stack Overflow用户

发布于 2017-12-27 10:07:42

对之前的回答很抱歉。

您必须检查Tomcat的server.xml文件中AJP1.3连接器的超时值和maxPostSize*​​值。

*从Tomcat 7和上级,maxPostSize值必须小于0才能禁用它。

致以问候。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47717617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档