我有一个在remote-server-1上运行的camel 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
}
我也在我的local-tomcat8.5上部署了hawtio.war。当我尝试连接到此远程代理时,我被重定向到登录页面。我无法弄清楚我哪里出错了。任何人都可以帮我这个吗?
答案 0 :(得分:13)
如果您使用的是Hawtio的可运行JAR版本,则在启动应用程序时也可以传递参数hawtio.proxyWhitelist:
java -Dhawtio.proxyWhitelist=SERVERNAME -jar hawtio-app-1.5.3.jar
答案 1 :(得分:9)
自hawtio 1.5.0起,您需要将远程主机添加到hawtio.proxyWhitelist
系统属性。
http://hawt.io/docs/configuration/#configuration-properties
ProxyServlet
- 目标主机的逗号分隔白名单,hawtio-jmx Connect插件可以通过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>
,如下所示:
docker exec -it add92j rs