分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

ElasticSearch 通过nginx做HTTP验证

发布时间:2023-09-06 01:46责任编辑:沈小雨关键词:nginx

在ElasticSearch 的设置文件中如果设置了

network.host: 0.0.0.0

则表示ElasticSearch 服务是公开的任何ip都可以访问ElasticSearch 服务。这样肯定是不安全的。

我们可以通过安装 X-Pack这个然间来做对ElasticSearch 的登陆验证,但是这个是收费的只可以免费使用30天。

还有一种方法也是我们常用就是使用nginx的反向代理服务同时使用Http-basic模块来做HTTP验证。

在nginx 下添加配置文件内容如下

#upstream dev.es.daojia.com.cn {# ???????//如果有多台服务器可以在这里配置upstream轮询# ????}server{ ???????server_name dev.es.xxx.com.cn; ???????location /{ ???????????proxy_http_version 1.1; ???????????proxy_set_header ??Connection ?????????""; ???????????proxy_set_header ??Host ????????????$host; ???????????proxy_set_header ??X-Real-IP ???????$remote_addr; ???????????proxy_set_header ??X-Forwarded-For ?$proxy_add_x_forwarded_for; ???????????auth_basic "login"; ???????????auth_basic_user_file /etc/nginx/conf.d/htpasswd; ???????????autoindex on; ???????????proxy_pass http://127.0.0.1:9200; ????????} ???????access_log ?/data/logs/nginx/dev.es.xxx.com.cn.access.log ?main; ???error_log ??/data/logs/nginx/nginx-error.log;}
proxy_pass 表示代理目标
auth_basic_user_file 表示账号密码存放的文本地址 
通过http://www.matools.com/htpasswd 来生成采用Crypt (all Unix servers)  方式密的密码


 可以看到 用户名为明文密码为加密后的用:分隔

将其复制到我们设置的目录文件中。

然后修改ElasticSearch 的配置network.host

如果nginx和ElasticSearch 在同一个服务器上可以设置为

network.host: 127.0.0.1

如果不在同一个机器上就将  network.host选项设置为nginx服务器的ip 就可以了。

然后重启nginx 和 ElasticSearch 

然后我们在通过ip加端口访问 ElasticSearch 就无法访问了。

在输入我们配置的域名看一下

输入账号es123和密码es123 就可以了

ElasticSearch 通过nginx做HTTP验证

原文地址:https://www.cnblogs.com/phpshen/p/8600582.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved