2013년 4월 2일 화요일

NGINX 다운로드 링크 접속 시 로그인 걸기(POGOPLUG SERIES 4용)

1. 시작하기 전에...

nginx 로그인은 http://wiki.nginx.org/에서 참조하였습니다. 이 문서는 포고플러그 시리즈 4에 Archlinux, nginx, php, mysql이 설치되었을 때를 기준으로 설명합니다.

 nginx에서 로그인 설정을 하려던 것은 제가 ftp 서버 설정을 모르기 때문입니다. 그래서 ftp로그인과 비슷한 기능이 무엇이 있을까 생각하던 중 nginx에서 로그인 기능이 있다는 것을 알았습니다. ftp는 잘못 설정하면 상위 폴더와 모든 권한을 줄 수 있기 때문에 상당히 조심해야 합니다. (아자, 드디어 찾아냈습니다.ㅎㅎㅎ)


2. nginx 다운링크에 암호거는 방법

2-1. 우선 다음 구문을 추가해 줍니다.

nano /etc/nginx/nginx.conf 를 SSH상에서 입력합니다.

server {
        listen       80;
        server_name  localhost

쭈~욱 나오고 기존에 추가한 다운로드 구문에 다음을 추가합니다.

location /down {
            alias   /srv/down;
            autoindex   on;

            auth_basic "Restricted";
            auth_basic_user_file /etc/nginx/security/.htpasswd;
            index index.html index.htm index.php;
            access_log      /var/log/nginx/down.access.log;
            error_log       /var/log/nginx/down.error_log;

            charset utf-8;
}

auth_basic_user_file /etc/nginx/security/.htpasswd; nginx폴더 안에 security 폴더를 새로 만들고 패스워드 파일을 생성합니다. 이렇게 하는 이유는 nginx폴더 안에 설정파일이 많이 있는데, .htpasswd 파일이 숨김속성의 파일이라서 보이지 않습니다. 그래서 나중에 패스워드 관리상에 헷갈리기 쉽기 때문에 폴더로 구분해 주는 것입니다. 또 패스워드 폴더 이름을 security로 하지 않고 다른 영문명으로 해도 됩니다. (예- paswd, npas 등...)

auth_basic "Restricted"; - 접속 시에 나오는 인사말 같습니다.


2-2. /etc/nginx/security 경로 상에 .htpasswd 파일을 생성합니다.

nano /etc/nginx/security/.htpasswd

폴더가 없으면 security폴더를 새로 만듭니다. .htpasswd 파일형식은 다음과 같으며, 영어와 숫자로만 입력합니다. 그리고 비밀번호 생성은 사이트에서 생성 후 입력합니다.

사용자:비밀번호
user:pass

저장하고 나옵니다.


3. nginx을 다시 시작합니다.

systemctl restart nginx


4. 다시 접속하면 이렇게 메세지 창이 뜹니다.

재 접속시 이렇게 나옵니다.

댓글 없음:

댓글 쓰기