nginx로 Kibana에 Basic 인증하기

1789 단어 nginx키바나

Kibana에 대한 액세스를 제한하고 싶습니다.



Kibana는 분석·가시화 툴이라고 하는 것으로 사내에서의 운용이 기본인 것 같고, 인증이나 시큐리티 대책 같은 것은 지금까지 실장되고 있지 않다.
대망의 인증 기능 가 4.2.0 에 구현될까? 라고 생각해 기대하고 있었지만, 어쩌면 4.3.0 에 라벨이 바뀌어 있었다.



왜냐하면 일단은 nginx에서 리버스 프록시하고 Basic 인증을 유효하게 해 본다.

환경


  • AWS EC2 + ELB
  • Ubuntu Server 14.04.2 64bit
  • nginx 1.9.0
  • Kibana 4.1.1

  • 구성



    ELB에서 SSL 종료하고 HTTP로 요청을 보냅니다.
    Browser ==(HTTP/HTTPS)==> ELB ==(HTTP)==> EC2(nginx)
    

    nginx 설정


    .htpasswd 파일은 커맨드 라인 툴로 생성해도 되지만, 귀찮다면 Htpasswd Generator 라든가로 만들면 편합니다.
    관리하기 쉽도록 kibana용의 설정은 별도의 파일에 기술해, 그것을 nginx의 설정 파일로부터 읽어들인다.

    nginx.conf
    http {
      # ...
    
      include /path/to/kibana.conf;
    
      # ...
    }
    

    kibana.conf
    upstream kibana {
      server 127.0.0.1:5601 fail_timeout=0;
    }
    
    server {
      listen 80;
      server_name kibana.example.com;
    
      location / {
        auth_basic "Restricted";
        auth_basic_user_file /path/to/.htpasswd;
        proxy_pass http://kibana;
      }
    }
    

    재부팅 및 완료



    그렇지만 이것, HTTPS를 강제하지 않으면 한손 떨어지네요.X-Forwarded-Proto 라든지를 보고 리디렉션 하는 편이 좋습니다.

    좋은 웹페이지 즐겨찾기