AWS ElasticBeanstalk 的克隆在启动时出现 tomcat 错误 AJP 连接器配置为 SecretRequired="true"

问题描述 投票:0回答:1

将 AWS Elastic Beanstalk 环境与 Tomcat 7 和 Java 7 一起使用,在 64 位 Amazon Linux/3.4.8 上运行,这是一个已退役的平台,但我已经使用了很多年,没有出现任何问题。

克隆了环境,没有对环境或配置进行任何更改,现在不再工作并且

catalina.out
日志文件显示

Nov 28, 2023 11:01:36 AM org.apache.catalina.core.StandardService startInternal
SEVERE: Failed to start connector [Connector[AJP/1.3-8009]]
org.apache.catalina.LifecycleException: service.getName(): "Catalina";  Protocol handler start failed
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:1065)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:460)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:744)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:712)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:607)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)
Caused by: java.lang.IllegalArgumentException: The AJP Connector is configured with secretRequired="true" but the secret attribute is either null or "". This combination is not valid.
    at org.apache.coyote.ajp.AbstractAjpProtocol.start(AbstractAjpProtocol.java:211)
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:1058)
    ... 12 more

Nov 28, 2023 11:01:36 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2437 ms

我猜这是某种安全修复:

  • 但是为什么我在使用相同的配置时会出现这种情况?
  • 最简单的解决方法是什么?
amazon-elastic-beanstalk tomcat7
1个回答
0
投票

错误消息表明

secretRequired
设置为
true
,但未提供任何秘密。这是防止未经授权访问 AJP 连接器的安全措施。

检查这是否类似于“AJP 连接器配置为

secretRequired="true"
,但升级到 2.2.5 后,秘密属性为 null 或“””。

升级后的 Tomcat 的相同配置可能会触发该错误。

在这种情况下,将

secretRequired="false"
添加到 Tomcat
conf/server.xml
应该会有所帮助。
server.xml
文件通常可能位于
Elastic Beanstalk 环境配置
中的 /etc/tomcat7/server.xml


如果您不使用 AJP 连接器,可以通过在

server.xml
中注释掉它来禁用它。

<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
© www.soinside.com 2019 - 2024. All rights reserved.