Elasticsearch之权限验证(Basic)
目前使用的Es版本为7.5版本, 在7.X版本中已经可以免费的使用x-pack进行用户验证了
1. 修改elasticsearch主节点配置文件:
action.destructive_requires_name: true
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
action.destructive_requires_name: true: 设置之后只限于使用特定名称来删除索引,使用_all 或者通配符来删除索引无效(上述中说明配置文件中禁止后此方式不能使用)】
注意:上面对于跨域的配置,下面使用elasticsearch-head进行连接的时候会用到 使用到的是基础验证类型
2. 创建身份认证
#系统自动生成密码
./bin/elasticsearch-setup-passwords auto #自定义密码
./bin/elasticsearch-setup-passwords interactive
3. 重启elasticsearch服务
systemctl restart elasticsearch
Kibana配置:
elasticsearch.username: "elastic"
elasticsearch.password: "具体密码"
配置head插件
1. 安装
GitHub地址:https://github.com/zhaoyunxing92/elasticsearch-head.git
具体安装可以看说明,这里简单说一下:
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start
open http://localhost:9100/
打开服务器ip地址,访问即可: http://59.132.16.217:9100

可以修改_site/app.js 大概4374行左右,指定默认访问的集群地址
app.App = ui.AbstractWidget.extend({
4368 defaults: {
4369 base_uri: null
4370 },
4371 init: function(parent) {
4372 this._super();
4373 this.prefs = services.Preferences.instance();
4374 this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://59.132.16.127:9200";
4375 if( this.base_uri.charAt( this.base_uri.length - 1 ) !== "/" ) {
4376 // XHR request fails if the URL is not ending with a "/"
4377 this.base_uri += "/";
4378 }
4379 if( this.config.auth_user ) {
4380 var credentials = window.btoa( this.config.auth_user + ":" + this.config.auth_passwo rd );
2.配置
elasticsearch安装x-pack插件之后,head插件就无法使用了,因为x-pack中加入了安全模块(security机制),这个时候需要在elasticseach.yml中再增加下面一行配置即可解决
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type 上面提到的内容
这样访问页面的时候,就需要带上用户名和密码进行访问
http://59.132.16.127:9100/?auth_user=elastic&auth_password=123456 # 指定用户名和密码
auth_user
auth_password
现在已经添加了验证, 这个时候, 如果我们不想暴露自己的端口,可以使用nginx进行一次转发,对外只提供80端口
server {
listen 80;
server_name es.*.com; #公网域名地址
location / {
auth_basic "secret";
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
proxy_pass http://localhost:9100;
proxy_set_header Host $host:9100;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Via "nginx";
}
}
具体账号密码配置,可参考:nginx之访问控制
我们来禁用9100端口,只在127.0.0.01:9100,配合nginx使用即可
elasticsearch-head/Gruntfile.js
在connect –>server–>options下添加hostname:’127.0.0.1’ 允许本地ip可以访问
connect: {
server: {
options: {
hostname: '127.0.0.1',
port: 9100,
base: '.',
keepalive: true
}
}
}
添加开机启动:
vim /etc/rc.local /usr/local/elasticsearch-head/node_modules/grunt/bin/grunt server &
Elasticsearch之权限验证(Basic)的更多相关文章
- mvc 4 ActionFilterAttribute 特性,进行权限验证
权限验证: /// <summary> /// 管理员身份验证 /// </summary> public class BasicAuthenticationAttribute ...
- 转 Web用户的身份验证及WebApi权限验证流程的设计和实现
前言:Web 用户的身份验证,及页面操作权限验证是B/S系统的基础功能,一个功能复杂的业务应用系统,通过角色授权来控制用户访问,本文通过Form认证,Mvc的Controller基类及Action的权 ...
- 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之五 || Swagger的使用 3.3 JWT权限验证【必看】
前言 关于JWT一共三篇 姊妹篇,内容分别从简单到复杂,一定要多看多想: 一.Swagger的使用 3.3 JWT权限验证[修改] 二.解决JWT权限验证过期问题 三.JWT完美实现权限与接口的动态分 ...
- [置顶] Web用户的身份验证及WebApi权限验证流程的设计和实现 (不是Token驗證!!!不是Token驗證!!!都是基於用户身份的票据信息驗證!!!)
转发 http://blog.csdn.net/besley/article/details/8516894 不是Token驗證!!!不是Token驗證!!!都是基於用户身份的票据信息驗證!!! [ ...
- Web用户的身份验证及WebApi权限验证流程的设计和实现 asp.net mvc AllowAnonymous 不起作用, asp.net mvc 匿名访问
原文地址: https://blog.csdn.net/zjlovety/article/details/17095627 前言:Web 用户的身份验证,及页面操作权限验证是B/S系统的基础功能,一个 ...
- Z从壹开始前后端分离【 .NET Core2.2/3.0 +Vue2.0 】框架之五 || Swagger的使用 3.3 JWT权限验证【必看】
本文梯子 本文3.0版本文章 前言 1.如何给接口实现权限验证? 零.生成 Token 令牌 一.JWT ——自定义中间件 0.Swagger中开启JWT服务 1:API接口授权策略 2.自定义认证之 ...
- web权限验证方法说明[转载]
前言 本文将会从最基本的一种web权限验证说起,即HTTP Basic authentication,然后是基于cookies和tokens的权限验证,最后则是signatures和一次性密码. HT ...
- ABP(现代ASP.NET样板开发框架)系列之18、ABP应用层——权限验证
点这里进入ABP系列文章总目录 ABP(现代ASP.NET样板开发框架)系列之18.ABP应用层——权限验证 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目 ...
- Atitit HTTP 认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结
Atitit HTTP认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结 1.1. 最广泛使用的是基本验证 ( ...
- ASP.NET MVC View 和 Web API 的基本权限验证
ASP.NET MVC 5.0已经发布一段时间了,适应了一段时间,准备把原来的MVC项目重构了一遍,先把基本权限验证这块记录一下. 环境:Windows 7 Professional SP1 + Mi ...
随机推荐
- Linq操作XML生成XML,实体生成XML和互转
开发接口中难免会遇到一些数据对接需要转换城xml,看到很多之前的代码都使用很传统的方法循环集合并定义xml后一一生成的,代码之封锁 特此使用了简单易用linq操作分享给大家,希望可以帮到需要的同学 今 ...
- echarts 等相关问题解答过程
echarts 绘制中国地图https://blog.csdn.net/sleepwalker_1992/article/details/126959198 elmentui table数据轮播显示: ...
- BOM – Cookie 和 LocalStorage
前言 Cookie 和 LocalStorage 是非常基础的东西. 我是学编程后, 第 3 年才开始写博客的, 所以很多在第 1, 2 年学的知识完全都没有记入下来. (比如 C#, JS 语法等等 ...
- Identity – Introduction & Scaffold
主要参考: Introduction to Identity on ASP.NET Core Start by command dotnet new webapp --auth Individual ...
- 以后基于 Topass 的博客加密方法通告
Topass 加密方法 以后会将部分未公开内容公开,请你通过此加密途径来破解密码 特别地,为了保证博客的浏览体验,我不会通过这种方法加密任何一种应该公开的文章 话说你们不妨猜猜用的什么算法
- perf时 出现[kernel.kallsyms] 符号怎么办
在 perf 工具生成的火焰图中看到 [kernel.kallsyms],通常意味着火焰图中包含内核符号,但这些符号没有被正确解析.这可能是由于以下几个原因导致的: 内核符号表不可用或不完整:perf ...
- bpftool使用方法简介
1.安装bpftool工具 看起来,在不同的linux发行版里,bpftool在不同的软件包里,ubuntu 22上,bpftool是linux-tools-generic的一部分,而树莓派里bpft ...
- 2021年1月国产数据库排行榜:OceanBase重回前三,TDSQL增长趋势最强劲!
墨天轮国产数据库排行榜新年第一期已发布.2021年1月份排行榜前三甲依次为 TiDB .DaMeng.OceanBase .PingCAP TiDB 稳居冠军的宝座,短时间内难以撼动,开源的商业数据库 ...
- Python之爬虫-全民k歌
import re import os import requests from aip import AipSpeech from pydub import AudioSegment APP_ID ...
- apisix~自定义文件上传代理插件~支持form-data文件和kv参数
参考文献 https://stackoverflow.com/questions/24535189/composing-multipart-form-data-with-a-different-con ...