spring cloud 整合Hystrix Dashboard 的时候报了这个问题
ashboardConfiguration$ProxyStreamServlet : Origin parameter: http://localhost:9000/actuator/hystrix.stream is not in the allowed list of proxy host names. If it should be allowed add it to hystrix.dashboard.proxyStreamAllowList.
解决:
proxyStreamAllowList这个属性在【HystrixDashboardProperties.java】中,而在【HystrixDashboardConfiguration.java】的ProxyStreamServlet#doGet中会用到它,也就是log报错的地方。
if (!isAllowedToProxy(proxyUrlString)) {
log.warn("Origin parameter: " + origin
+ " is not in the allowed list of proxy host names. If it "
+ "should be allowed add it to hystrix.dashboard.proxyStreamAllowList.");
return;
}
关键就在isAllowedToProxy,发现它会取出proxyStreamAllowList元素和host匹配。如果我们没有设置proxyStreamAllowList,那么proxyStreamAllowList为空,就会出现标题上的问题。
最后,我在META-INF下的设置文件里找到了答案。原来proxyStreamAllowList这个东西是个配置项。
接下来在HystrixDashboard工程加入配置。就可以了
hystrix.dashboard.proxy-stream-allow-list=localhost
然后这个问题就解决了