环境:linux2.6+、php5.5+、mysql5.5+、swoole1.7.20+
下载:https://github.com/xtjsxtj/esp
tar zxvf esp.zip
cd esp
./bin/esp start
查看当前server进程状态:
./bin/esp status
系统级配置文件,全局生效,不能reload,只能restart
server_conf.php
class server_conf {
public static $config=array(
'server_name' => 'es_proxy', //server名称
'log_level' => NOTICE, //跟踪级别TRACE,DEBUG,INFO,NOTICE,WARNING,ERROR
'listen' => 9501, //listen监听端口
'worker_num' => 1, //工作进程数
'daemonize' => true, //是否以守护进程方式运行
'log_file' => '/home/jfy/testprog/esproxy/proxy/index.log', //log文件
);
}
工作进程配置文件,支持reload
worker_conf.php
class worker_conf{
public static $config=array(
'log_level' => NOTICE,
'es_url' => 'http://localhost:9200',
'trust_ip' => [
'127.0.0.1'
],
'groups' => [
'cpyf' => 'jfy,zyw',
],
'users' => [
'jfy' => '123456',
'zyw' => '123456',
],
'auths' => [
['OPTIONS', '/{param:.+}', '*'],
['GET', '/{param:.+}', '*'],
['POST', '/{param1}/_search', '*'],
['POST', '/{param1}/{param2}/_search', '*'],
['PUT', '/kibana-int/{param:.+}', '*'],
['DELETE', '/kibana-int/{param:.+}', '@cpyf'],
],
);
}
针对Elasticsearch的访问权限配置上,只需要修改worker_conf配置文件即可。
配置文件一看上去就应该明白了:
auths,访问详细rest路径权限设置
method restpath users
user 授权访问的用户
当用户列表中指明用户或组时,http header中必须包括Basic Auth用户和密码信息:
Authorization: Basic amZ5OjttMzQ1Ng==