Friday, April 29, 2016

NginxBasicAuth

개요

Basic HTTP 인증

인증 정보

  • 웹루트
    • /home/httpd/vhosts/auth.example.com
  • 인증 절대 경로
    • /home/httpd/vhosts/auth.example.com/auth
  • 인증 접근 URL

Nginx 설정(인증+자동 디렉토리 리스팅)

서버 설정 편집
$ vi /etc/nginx/site-enabled/vhost.conf

server {
    server_name auth.example.com;
    root /home/httpd/vhosts/auth.example.com;

    location /auth {
        auth_basic              "Restricted";
        auth_basic_user_file    $document_root/auth/.htpasswd;
    }
    autoindex on;
    autoindex_exact_size off;
    autoindex_localtime on;
}

htpasswd 설정

.htpasswd 추가 형식

{사용자}:{해쉬된 패스워드}:{설명}

.htpasswd 에 계정 추가

$ echo user1:$(openssl passwd -crypt pwd1234) >> /home/httpd/vhosts/auth.example.com/auth/.htpasswd
$ echo user2:$(openssl passwd -crypt pwd1234):comment >> /home/httpd/vhosts/auth.example.com/auth/.htpasswd

.htpasswd 권한 설정

$ chown root:nobody /home/httpd/vhosts/auth.example.com/auth/.htpasswd
$ chmod 640 /home/httpd/vhosts/auth.example.com/auth/.htpasswd

.htpasswd 추가 확인

$ cat /home/httpd/vhosts/auth.example.com/auth/.htpasswd

user1:DuBYtO9mSH05w
user2:22rSfOA5sGDCE:comment

설명

  • 사용자:user1, 패스워드:pwd1234 로 계정 생성
  • 사용자:user2, 패스워드:pwd1234, 설명:comment 로 계정 생성

Nginx 재시작

$ service nginx restart



Post a Comment