Невозможно подключиться к удаленному серверу с панели инструментов Hawtio
У меня есть верблюжье веб-приложение, работающее на remote-server-1, который является сервером Tomcat 8. Я прикрепил агента jolokia jvm к этому коту следующим образом:
java -jar jolokia-jvm-1.3.5-agent.jar start <PID>
На моем локальном компьютере я получаю следующий ответ: http://remote-server-1:port/jolokia
-
{
"request": {
"type": "version"
},
"value": {
"agent": "1.3.5",
"protocol": "7.2",
"config": {
"maxDepth": "15",
"discoveryEnabled": "true",
"maxCollectionSize": "0",
"agentId": "***.***.***.**-16224-35a7a114-jvm",
"debug": "false",
"agentType": "jvm",
"historyMaxEntries": "10",
"agentContext": "\/jolokia",
"maxObjects": "0",
"debugMaxEntries": "100"
},
"info": {
"product": "tomcat",
"vendor": "Apache",
"version": "8.0.35"
}
},
"timestamp": 1491307702,
"status": 200
}
У меня также есть hawtio.war, развернутый на моем local-tomcat8.5. Когда я пытаюсь подключиться к этому удаленному агенту, я перенаправляюсь на страницу входа. Я не могу понять, где я иду не так. Кто-нибудь может мне с этим помочь?
2 ответа
Начиная с hawtio 1.5.0 вам нужно добавить удаленные хосты в hawtio.proxyWhitelist
системное свойство.
http://hawt.io/docs/configuration/
hawtio.proxyWhitelist
- Разделенный запятыми белый список для целевых хостов, к которым подключаемый модуль hawtio-jmx Connect может подключаться черезProxyServlet
(дефолтlocalhost
,127.0.0.1
). Всем хостам, не указанным в этом белом списке, отказано в подключении по соображениям безопасности. Эта опция может быть установлена на*
восстановить старое поведение и белый список всех хостов. Префикс элемента списка с"r:"
позволяет определить регулярное выражение (пример:localhost,r:myservers[0-9]+.mydomain.com
)
Если вы используете hawtio.war
затем измените его WEB-INF/web.xml
как это:
<servlet>
<servlet-name>jolokia-proxy</servlet-name>
<servlet-class>io.hawt.web.ProxyServlet</servlet-class>
<!--
Comma-separated list of allowed target hosts. It is required for security.
'*' allows all hosts but keep in mind it's vulnerable to security attacks.
-->
<init-param>
<param-name>proxyWhitelist</param-name>
<param-value>
localhost,
127.0.0.1,
remote-server-1
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Если вы используете работающую JAR-версию Hawtio, вы можете передать параметр hawtio.proxyWhitelist также при запуске приложения:
java -Dhawtio.proxyWhitelist=SERVERNAME -jar hawtio-app-1.5.3.jar