我正在关注windows的elasticsearch nginx集成教程。我使用openssl生成了密码。
问题是密码文件的扩展名应该放在什么位置。
我一直收到此错误消息,但我不清楚究竟是什么问题
C:\ Program Files \ nginx-1.12.1 \ nginx-1.12.1> nginx -s reload nginx: [错误] OpenEvent(" Global \ ngx_reload_4428")失败(2:系统 找不到指定的文件)
目前,该文件存在于configs目录中
events {
worker_connections 1024;
}
http {
upstream elasticsearch {
server 127.0.0.1:9200;
}
server {
listen 8080;
auth_basic "Protected Elasticsearch";
auth_basic_user_file passwords;
location / {
proxy_pass http://elasticsearch;
proxy_redirect off;
}
}
}
答案 0 :(得分:1)
您必须指定密码文件位置的完整路径:
location / {
auth_basic "Secure Area (or whatever description you want)";
auth_basic_user_file /etc/nginx/auth/nginx.passwd;
... (other settings)
}
上面的示例适用于运行nginx的Unix / Linux服务器。由于您运行的是Windows,我认为您必须指定完整路径,例如C:\Program Files\nginx-1.12.1\nginx-1.12.1\nginx.passwd
根据您想要限制的内容,您可能需要将规则放在 location / {} 块的内部或外部。假设您需要允许完全访问您的服务器/站点并且仅限制让我们说/ private,那么您将添加基本身份验证:
location /private {
...
}