在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验证的更多相关文章

  1. nginx做反向代理并防盗链

    nginx做反向代理真的非常简单,只需设置location+proxy_pass即可. 防盗链配置有些复杂,需要注意的地方: 在防盗链的location中需要再设置一下proxy_pass(在这里走了 ...

  2. nginx做代理安装docker

    1.环境 服务器IP 服务用途 是否能 联网 192.168.126.128 docker服务器(简称B服务器) 不能 192.168.126.130 nginx服务器(简称A服务器) 能 2.背景 ...

  3. Nginx 做代理服务器时浏览器加载大文件失败 ERR_CONTENT_LENGTH_MISMATCH 的解决方案

    此文章仅作为本人的笔记,文章转载自  http://blog.csdn.net/defonds/article/details/46042809 Nginx 做反向代理,后端是 tomcat,chro ...

  4. wsl 2 unbuntu 部署 asp.net core 使用 nginx 做反向代理,调试文件上传失败

    继上一篇 asp.net core 3.1多种身份验证方案,cookie和jwt混合认证授权 的公司内部项目上线后发现文件上传功能有问题. 上传的文件超过50M以后前端就报错了,没有状态返回,也没有响 ...

  5. 【nginx配置】nginx做非80端口转发

    一个场景 最近在使用PHP重写一个使用JAVA写的项目,因为需要查看之前的项目,所以要在本地搭建一个Tomcat来跑JAVA的项目.搭建成功后,因为Tomcat监听的端口是8080,因此,访问的URL ...

  6. 使用nginx做负载均衡的session共享问题

    查了一些资料,看了一些别人写的文档,总结如下,实现nginx session的共享PHP服务器有多台,用nginx做负载均衡,这样同一个IP访问同一个页面会被分配到不同的服务器上,如果session不 ...

  7. Nginx做NodeJS应用负载均衡配置实例

    这篇文章主要介绍了Nginx做NodeJS应用负载均衡配置实例,本文直接给出配置实例,需要的朋友可以参考下. 负载均衡可以把用户的请求分摊到多个服务器上进行处理,从而实现了对海量用户的访问支持.负载均 ...

  8. nginx做反向代理负载均衡 Java怎么获取后端服务器获取用户IP

    nginx做反向负载均衡,后端服务器获取真实客户端ip   首先,在前端nginx上需要做如下配置: location / proxy_set_hearder host                 ...

  9. linux:Nginx+https双向验证(数字安全证书)

    本文由邓亚运提供 Nginx+https双向验证 说明: 要想实现nginx的https,nginx必须启用http_ssl模块:在编译时加上--with-http_ssl_module参数就ok.另 ...

随机推荐

  1. js程序中美元符号$是什么(转)

    $符号在php中是表示变量的特征字符, 在js中它也有很多作用, 一般我们用来命名一个函数名称,获取id的1.首先可以用来表示变量, 比如变量 var s='asdsd'或var $s='asdasd ...

  2. Linux安装配置mysql

    1.假设已经有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源文件 (1)先安装cmake(mysql5.5以后是通过cmake来编译的) [root@ rhel5 ...

  3. mysqli返回受影响行数

    参考链接:http://php.net/manual/en/mysqli.affected-rows.php /* update rows */ $mysqli->query("UPD ...

  4. p2p项目工具类

    1.用于存放当前用户的上下文UserContext package com.xmg.p2p.base.util; import javax.servlet.http.HttpSession; impo ...

  5. 【Android】Retrofit 2.0 的使用

    一.概述 Retrofit是Square公司开发的一个类型安全的Java和Android 的REST客户端库.来自官网的介绍: A type-safe HTTP client for Android ...

  6. 从源码上分析ListView的addHeaderView和setAdapter的调用顺序

    ListView想要添加headerview的话,就要通过addHeaderView这个方法,然后想要为ListView设置数据的话,就要调用setAdapter方法了.但是,在调用addHeader ...

  7. get_digits

    # coding=utf-8# 一.def digits(n): list1 = [] for each in n: list1.append(each) return list1print(digi ...

  8. springboot学习入门之五---开发Web应用之JSP篇

    转载:http://tengj.top/2017/03/13/springboot5/ 1整体结构 整体的框架结构,跟前面介绍Thymeleaf的时候差不多,只是多了webapp这个用来存放jsp的目 ...

  9. 传递命令行参数示例代码 (C 和 Python)

    C语言 在 C 语言中, 使用 main 函数的输入参数 argc 和 argv 传入命令行参数. argc 为 int 类型, 表示传入命令行参数的个数 (argument count); argv ...

  10. JWT能够干什么,不应该干什么?

    http://cryto.net/~joepie91/blog/2016/06/13/stop-using-jwt-for-sessions/ At the start of this article ...