auth_basic 의 경우 평문으로 패스워드가 전송되면서 해킹 위험있음
그 방안으로 SSL도 있지만 간단한 내부 웹사이트의 경우 http-auth-digest 로 활용하는 방안도 괜찮은 방법이다.
https://www.nginx.com/resources/wiki/modules/auth_digest/
nginx 다운로드
http://nginx.org/en/download.html
nginx-http-auth-digest 다운로드 ( 아래에서 받을것 그래야지 1.8이상에서 문제없다 )
https://github.com/atomx/nginx-http-auth-digest
$ tar xvfz nginx-1.8.0.tar.gz
$ unzip nginx-http-auth-digest-master.zip
$ cd nginx-1.8.0
$ ./configure --prefix=/data/nginx --conf-path=/etc/nginx/nginx.conf --user=www-data --group=www-data --with-http_ssl_module --add-module=../nginx-http-auth-digest-master
$ make
$ make install
비번파일만들기
nginx-http-auth-digest 디렉토리보면 htdigest.py 파일이 존재함
$ python htdigest.py /etc/nginx/digest/www.digest admin admin_web
Conf 설정
auth_digest_user_file /etc/nginx/digest/www.digest; auth_digest_shm_size 4m; location / { auth_digest 'admin_web'; auth_digest_timeout 60s; auth_digest_expires 10s; auth_digest_replays 20; proxy_pass http://localhost:8080/; proxy_redirect off; }