nginx在特定端口上启用身份验证

nginx在特定端口上启用身份验证,nginx,password-protection,Nginx,Password Protection,我试图用密码保护Kibana服务器的URL 如果我在浏览器中键入,系统会提示我输入用户名/密码,但是如果我直接通过查询端口5601,那么我可以绕过nginx代理验证 请注意,nginx和Kibana都在同一台服务器上运行 我尝试了localhost 0.0.0.0或127.0.0.1的不同组合作为侦听源地址,但都不起作用。我仍然可以轻松绕过代理 我做错了什么 这是我的/etc/nginx/nginx.conf文件: server { listen 192.168.1.2:80; serv

我试图用密码保护Kibana服务器的URL

如果我在浏览器中键入,系统会提示我输入用户名/密码,但是如果我直接通过查询端口5601,那么我可以绕过nginx代理验证

请注意,nginx和Kibana都在同一台服务器上运行

我尝试了localhost 0.0.0.0或127.0.0.1的不同组合作为侦听源地址,但都不起作用。我仍然可以轻松绕过代理

我做错了什么

这是我的/etc/nginx/nginx.conf文件:

server {
  listen 192.168.1.2:80;
  server_name 192.168.1.2;
  location / {
    proxy_pass http://192.168.1.2:5601;
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
  }
}

NGINX仅侦听端口80,不阻止访问端口5601上的应用程序。您应该使用防火墙来阻止对端口本身的访问。你可以:

将服务器置于防火墙(如路由器)后面,以阻止所有外部网络请求 在服务器本身上安装防火墙,如UFW。
我不想阻止对侦听的应用程序的访问:5601,我想添加身份验证。然后,您必须在kibana本身上添加身份验证。以下是您当前拥有的内容的示意图: