Linux中如何屏蔽storm ui的kill功能

甜樱桃布丁

甜樱桃布丁

2016-02-20 00:52

想要天天向上,就要懂得享受学习。图老师为大家推荐Linux中如何屏蔽storm ui的kill功能,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!

Linux系统中storm的ui有kill topology功能如果没有屏蔽的话,就会导致storm的topology很容易被人kill掉,如果你的topology出现被人kill的情况,多半是ui地址被人知道了,为了系统的安全,有必要将storm ui的kill功能进行屏蔽,一起来了解下吧。

 Linux中如何屏蔽storm ui的kill功能

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

有两种方法:

1.前端增加nginx,做location

分析ui页面,对应kill的button,html中的action为:

代码如下:

《input enabled= onclick=confirmAction(‘xxxxxxxxxx’, ‘xxxxxxxx’, ‘kill’, true, 30) type=button value=Kill》

调用了js的confirmAction方法,这个方法存在于storm-core/src/ui/public/js/script.js 中,方法的定义如下:

代码如下:

function confirmAction(id, name, action, wait, defaultWait) {var opts = {type:‘POST’,url:‘/topology/’ + id + ‘/’ + action};

if (wait) {

var waitSecs = prompt(‘Do you really want to ’ + action + ‘ topology ’ + name + ‘? ’ +‘If yes, please, specify wait time in seconds:’,defaultWait);if (waitSecs != null && waitSecs != && ensureInt(waitSecs)) {opts.url += ‘/’ + waitSecs;} else {return false;}

} else if (!confirm(‘Do you really want to ’ + action + ‘ topology ’ + name + ‘?’)) {return false;}

$(input[type=button]).attr(disabled, disabled);$.ajax(opts).always(function () {window.location.reload();}).fail(function () {alert(Error while communicating with Nimbus.)});return false;}

以看到方法主要分为两步,生成post请求的url,格式为‘/topology/’ + id + ‘/’ + action + ‘/’ + waitSecs,这里action为kill,waitSecs为触发kill时手动填入的时间,比如这里的30s,最终的url格式如下:

代码如下:

/topology/xxxxx/kill/xxxx

第二步就是根据这个设置触发一个ajax请求,这里我们只需要关心第一步即可,设置nginx如下:

代码如下:

upstream storm {

server 127.0.0.1:8888 weight=3 max_fails=3 fail_timeout=5s;}

server {

server_name storm.xxx.com;

listen 80;

proxy_set_header Host $host;

proxy_read_timeout 3600;

proxy_set_header X-Forwarded-For $remote_addr;access_log /var/log/nginx/storm.access.log main;error_log /var/log/nginx/storm.error.log debug;location ~* /topology/(.*)/kill/(.*) {return 403;}

location / {

proxy_pass http://storm;

}

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

}

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

这样,就可以屏蔽掉前端的kill功能了。

注意一个细节,storm ui的默认端口时8080,这个端口和nm冲突(见bug https://github.com/yahoo/storm-yarn/issues/25),设置storm.yaml ui.port: 8888,并重启ui即可。

2.更改代码,去掉action相关的button

代码如下:

storm-core/src/ui/public/topology.html

去除掉下面的部分:

代码如下:

《div id=topology-actions》

《h2 class=js-only》Topology actions《/h2》

《p id=topology-actions class=js-only》

《/p》

《/div》

第二种方法需要重新编译,还没有做测试。。

以上就是linux系统中屏蔽storm ui的kill功能的方法介绍了,本文一共介绍了两种方法,因为第二种方法还没测试,所以你可以使用第一种方法进行屏蔽。

展开更多 50%)
分享

猜你喜欢

Linux中如何屏蔽storm ui的kill功能

电脑入门
Linux中如何屏蔽storm ui的kill功能

Linux如何使用kill命令强制终止进程

电脑入门
Linux如何使用kill命令强制终止进程

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Linux系统中关于Kill命令的进程调度问题

电脑入门
Linux系统中关于Kill命令的进程调度问题

Vodafone BlackBerry Storm 界面UI设计欣赏

平面设计 标志设计 UI设计 VI设计
Vodafone BlackBerry Storm 界面UI设计欣赏

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Oracle中Kill session的研究

编程语言 网络编程
Oracle中Kill session的研究

屏蔽XP中不需用到功能

windows 操作系统
屏蔽XP中不需用到功能

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

JavaScript的事件:onLoad

JavaScript的事件:onLoad

win10cpu温度高怎么解决

win10cpu温度高怎么解决
下拉加载更多内容 ↓