ElasticSearch 通過nginx做HTTP驗證


在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 就可以了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM