<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ESPElasticsearch 代理

          聯(lián)合創(chuàng)作 · 2023-09-29 03:42

          簡介

          • 由于Elasticsearch沒有提供權(quán)限管理功能(官方shield又收費),特開發(fā)此Proxy,可以針對Elasticsearch Rest的路徑設(shè)置權(quán)限,可以指定信任IP,支持用戶,群組授權(quán)

          • 當(dāng)前版本0.01試用版。

          • 框架基于PHP-Swoole擴展開發(fā),用fast-route庫來做http route處理。

          安裝運行

          環(huán)境:linux2.6+、php5.5+、mysql5.5+、swoole1.7.20+
          下載:https://github.com/xtjsxtj/esp

          tar zxvf esp.zip  
          cd esp  
          ./bin/esp start  
          
          查看當(dāng)前server進程狀態(tài):
          ./bin/esp status

          配置文件

          系統(tǒng)級配置文件,全局生效,不能reload,只能restart
          server_conf.php

          <?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監(jiān)聽端口
                  'worker_num' => 1,            //工作進程數(shù)
                  'daemonize' => true,          //是否以守護進程方式運行
                  'log_file' => '/home/jfy/testprog/esproxy/proxy/index.log',  //log文件
              );   
          }

          工作進程配置文件,支持reload worker_conf.php

          <?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的訪問權(quán)限配置上,只需要修改worker_conf配置文件即可。

          配置文件一看上去就應(yīng)該明白了:

          • es_url,后端Elasticsearch http地址

          • trust_ip,信任的IP列表,不做任何權(quán)限限制

          • groups,用戶組列表,組下可包含多個用戶,用戶必須存在于users配置中

          • users,用戶列表,用戶名 => 密碼

          • auths,訪問詳細rest路徑權(quán)限設(shè)置

              method restpath users
            • 多個用戶以","分隔,用戶組以@開頭,如:jfy,@cpyf表示用戶jfy和用戶組cpyf中的所有用戶都可以訪問

            • "*"表示所有用戶均可以訪問

            • 當(dāng)用戶列表中指明用戶或組時,http header中必須包括Basic Auth用戶和密碼信息:

              Authorization: Basic amZ5OjttMzQ1Ng==
            • method 支持數(shù)組方式 ["GET","POST"]

            • restpath 訪問Elasticsearch的具體路徑,支持正則表達式,詳情參見:https://github.com/nikic/FastRoute

            • user 授權(quán)訪問的用戶

          瀏覽 23
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久看黄色视频 | 天天日天天拍 | 日本婷婷| a√免费在线观看 | 色无五月 |