密码文件应该放在哪里用于nginx

时间:2017-08-04 05:05:41

标签: windows elasticsearch nginx

我正在关注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;
    }
  }

}

1 个答案:

答案 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 {
...
}