如何在 Payara Micro 中启用 AJP 端口并使用 Apache 服务器作为代理

问题描述

我正在使用 Payara 微社区版来部署微服务 REST API。我需要启用 AJP 端口,以便 Apache 代理服务器侦听 AJP 端口 8192。

java -jar payara-micro-5.2020.5.jar --deploydir ./payara/webapps --rootDir ./payara --postbootcommandfile ./payara/postboot.txt

./payara/webapps 文件夹包含微服务 WAR 文件

postboot.txt 内容

create-network-listener --protocol http-listener-1 --listeneraddress 0.0.0.0 --listenerport 8192--jkenabled true jk-connector

命令执行没有问题,并且启用了以下端口“Http Port(s)”:“8080,8192”。

我可以在本地使用微服务 API (http://localhost:8192/)。但是来自 Apache 代理的请求显示 Bad Gateway 错误

我是否缺少在 Payara Micro 中启用 AJP 端口的一些配置?

解决方法

通过在 domain.xml 中添加这一行来为 Payara 启用 AJP 端口

<network-listener protocol="jk-listener" jk-enabled="true" port="8192" name="jk-connector" thread-pool="http-thread-pool" transport="tcp"></network-listener>