尝试了下,浏览器直接通过js操作elasticsearch。这种方式无需后台服务器了,而且程序业务逻辑都在js里面,代码更新直接替换 原有js和html页面即可,快速便捷,但安全性没有任何保证。
安全方面,前端业务逻辑部分,可以采用压缩加混淆方式;
后端数据请求可以采用nginx进行代理转发,然后使用nginx-lua 编写对应权限判断代码,进行请求权限控制。
<!DOCTYPE html>
<html lang="UTF-8">
<head>
<meta charset="UTF-8">
<title></title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/elasticsearch/14.1.0/elasticsearch.jquery.js"></script>
</head>
<body>
<div id="message">
</div>
</body>
<script>
var client = new $.es.Client({
//连接的服务器
hosts: '192.168.251.7:9200'
});
// 获取状态,参数可选,可以只传递一个回调
client.cluster.health(function (err, resp) {
if (err) {
$("#message").append(err.message + "<br\>");