我有以下设置:
/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位是有问题的。我做错什么了吗?
2条答案
按热度按时间ogq8wdun1#
似乎很可能这些现象与nginx配置有关,而不是与elasticsearch有关。例如,密码文件
.htpasswd
可能没有相应的权限或放在nginx无法访问的错误文件夹中。yx2lnoni2#
问题是密码的加密方式。当我生成密码时,我使用bcrypt。更多信息请点击此处。
我删除了旧的通行证,并用md5(通过htpasswd)创建了一个新的通行证,工作起来很有魅力。