0

我运行一个非常简单的微集成服务,它只有一个代理服务和一个序列。在这个序列中,传入的 XML 消息被传输到亚马逊 SQS 服务。如果我在集成工作室中内置的实例上运行它,我没有问题。但是,当我将文件打包成 CAR 并将其提供给 docker 实例时,它会启动并立即被请求轰炸吗?也就是说下面的日志接管了,容器不能再手动停止了:

[2020-04-15 12:45:44,585] INFO {org.apache.synapse.transport.passthru.SourceHandler} - 调用 informWriterError ^[[?62;c^[[?62;c[2020-04 -15 12:45:46,589] 错误 {org.apache.synapse.transport.passthru.SourceHandler} - 发生 HttpException org.apache.http.ProtocolException:无效请求行:ÇÃ^ú§ß¡ðO©%åË*29xÙVÀ$ org.apache.http.impl.nio.codecs.AbstractMessageParser.parse(AbstractMessageParser.java:208) 上 org.apache.synapse.transport.http.conn.LoggingNHttpServerConnection$LoggingNHttpMessageParser.parse(LoggingNHttpServerConnection. java:407) 在 org.apache.http.impl.nio.DefaultNHttpServerConnection 的 org.apache.synapse.transport.http.conn.LoggingNHttpServerConnection$LoggingNHttpMessageParser.parse(LoggingNHttpServerConnection.java:381)。org.apache.synapse.transport.http.conn.LoggingNHttpServerConnection.consumeInput(LoggingNHttpServerConnection.java:114) 上的 consumeInput(DefaultNHttpServerConnection.java:265) org.apache.synapse.transport.passthru.ServerIODispatch.onInputReady(ServerIODispatch.java: 82)在 org.apache.synapse.transport.passthru.ServerIODispatch.onInputReady(ServerIODispatch.java:39) 在 org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:113) 在 org.apache .http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:159) 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:338) 在 org.apache.http.impl .nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:316) 在 org.apache.http.impl.nio.reactor.AbstractIOReactor。在 org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:105) 处执行(AbstractIOReactor.java:277) 在 org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run( AbstractMultiworkerIOReactor.java:586) at java.lang.Thread.run(Thread.java:748) 原因:org.apache.http.ParseException:无效请求行:ÇÃ^þvHÅFmÉ (@ë¸'º¯æ¦VÇÃ^þvHÅFmÉ (@ë¸'º¯æ¦VÇÃ^þvHÅFmÉ (@ë¸'º¯æ¦V

我确保没有可能的外部连接,并且我还发现了描述此问题的某人的旧线程,但他们的解决方案(更改密钥库中的某些内容)不起作用。

另外,我确保在容器中也包含 SQS 证书。

我没有设置连接到容器的连接,因此这也不在等式中。

我在这里想念什么?

4

1 回答 1

0

我不知道为什么,但我已经确定罪魁祸首正是 Portainer。当我关闭 Portainer 时,请求流停止。

根据 Wireshark 的说法,这些请求都是针对

GET http://172.17.0.1:9000/api/endpoints/<containerID>/docker/<someId>/logs _

似乎因为我尝试运行的 WSO2 容器是一个 ESB,它使用端点并在不存在的端点上返回 400 个状态代码,portainer 将重试直到成功。这只是我的观察,所以我可能是错的。

我通过将容器上传到不存在问题的 AWS 来确认我的发现。

于 2020-04-20T12:26:25.453 回答