У меня есть верблюжье веб-приложение, работающее на 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. Когда я пытаюсь подключиться к этому удаленному агенту, я перенаправляюсь на страницу входа. Я не могу понять, где я иду не так. Кто-нибудь может мне с этим помочь?

6
Abhishek 4 Апр 2017 в 15:13

2 ответа

Лучший ответ

Начиная с 2.10.1: используйте hawtio.proxyAllowlist вместо hawtio.proxyWhitelist. (Спасибо, Растадриан, что указал на это.)


Начиная с hawtio 1.5.0 вам необходимо добавить удаленные хосты в системное свойство hawtio.proxyWhitelist.

http://hawt.io/docs/configuration/#configuration-properties

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>
11
Tadayoshi Sato 29 Июл 2020 в 03:32

Если вы используете работающую JAR-версию Hawtio, вы можете передать параметр hawtio.proxyWhitelist также при запуске приложения:

java -Dhawtio.proxyWhitelist=SERVERNAME -jar hawtio-app-1.5.3.jar
15
JanTheGun 22 Авг 2017 в 15:23