在哪里应该为nginxfind密码文件

我正在关注windows的elasticsearch nginx集成教​​程。 我已经使用openssl生成了密码。

问题是什么应该是密码文件的扩展名以及它应该放在哪里。

我不断收到这个错误消息,但是我不清楚究竟是什么问题

C:\ Program Files \ nginx-1.12.1 \ nginx-1.12.1> nginx -s reload nginx:[error] 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; } } } 

您必须指定密码文件位置的完整路径:

 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

取决于您想要限制的内容,可能需要将该规则放在位置/ {}块内部或外部。 假设你需要允许完全访问你的服务器/站点,并且只限制/ private,那么你将添加基本的身份验证:

 location /private { ... }