【问题标题】:Unable to connect to remote server from Hawtio dashboard无法从 Hawtio 仪表板连接到远程服务器
【发布时间】:2017-08-29 15:16:01
【问题描述】:

我有一个在远程服务器 1 上运行的骆驼 Web 应用程序,它是一个 tomcat 8 服务器。我在这个 tomcat 上附加了一个 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
}

我还在本地 tomcat8.5 上部署了 hawtio.war。当我尝试连接到这个远程代理时,我被重定向到登录页面。我无法弄清楚我哪里出错了。谁能帮我解决这个问题?

【问题讨论】:

  • 你用的是哪个hawtio版本?
  • 我使用的是hawtio 1.5.0版

标签: java apache-camel hawtio


【解决方案1】:

从 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 连接的目标主机的逗号分隔白名单(默认localhost127.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>

【讨论】:

  • 值得注意的是,在2.10.1版本之后,这个属性被重命名为hawtio.proxyAllowlist
【解决方案2】:

如果您使用的是 Hawtio 的可运行 JAR 版本,您也可以在启动应用程序时传递参数 hawtio.proxyWhitelist:

java -Dhawtio.proxyWhitelist=SERVERNAME -jar hawtio-app-1.5.3.jar

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-20
    • 2015-01-22
    相关资源
    最近更新 更多