使用nginx的elasticsearch基本身份验证

w6mmgewl  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(2)|浏览(414)

我有以下设置:
/etc/nginx/可用站点/elasticsearch

server {
    listen 80;
    server_name xxx.xxx.xxx.xxx;
    auth_basic "Elasticsearch Authentication";
    auth_basic_user_file /etc/elasticsearch/es.pwd;

    location / {
        rewrite ^/(.*) /$1 break;
        proxy_ignore_client_abort on;
        proxy_pass http://localhost:9200;
        proxy_redirect http://localhost:9200 http://xxx.xxx.xxx.xxx/;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header  Host $http_host;
    }
}

无论我什么时候
curl -i-uuser:pass httphttp://.../
我需要401授权
如果我从nginx conf中删除auth\u basic,一切都会顺利进行。我很清楚,auth位是有问题的。我做错什么了吗?

ogq8wdun

ogq8wdun1#

似乎很可能这些现象与nginx配置有关,而不是与elasticsearch有关。例如,密码文件 .htpasswd 可能没有相应的权限或放在nginx无法访问的错误文件夹中。

yx2lnoni

yx2lnoni2#

问题是密码的加密方式。当我生成密码时,我使用bcrypt。更多信息请点击此处。
我删除了旧的通行证,并用md5(通过htpasswd)创建了一个新的通行证,工作起来很有魅力。

相关问题