nginx 에서 htaccess 사용하기

nginx에 apache 에서 쓰던 방법으로 htaccess 를 적용하니 안되는것 같다.
이래저래 시도해보다 성공해서 기록용으로 남긴다.

nginx.conf 파일을 보면 기본적으로

root 경로;

location 하위경로 {
}

식의 구성이다.

(만약 location 부분이 없다면 새로 추가하면 된다.)


예를들면 myweb.com/test 경로의 접근을 막고 싶다면

root /home/myweb/www;

location /test {
auth_basic "RESTRICTED ACCESS";
auth_basic_user_file /home/myweb/www/test/.htpasswd;
}

처럼 설정을 저장한다. 따옴표안의 문구는 맘대로 바꿔도 된다. 사용자 계정을 물어보는 창에 나오는 문구다.

위와 같이 설정을 하고 .htpasswd 파일을 만든다.
위치는 당연히 auth_basic_user_file 에 지정한 곳이다.

해당 디렉토리로 들어가서
htpasswd -c .htpasswd 아이디
를 치면 password 를 물어본다. 입력하면 된다.

만들 아이디가 admin 이라면
htpasswd -c .htpasswd admin

htpasswd 도움말을 보면 아이디 추가와 암호변경도 가능하니 도움말을 참고한다.

마지막으로 nginx 를 재시작하면 적용된걸 확인 할수 있다.





test/a test/b 같은 하위디렉토리에도 적용된다.

키란디아

내 인생의 목표는 내가 하고 싶은, 좋아하는, 원하는 일만 하며 언제나 행복감을 느끼면서 사는 것이다.

댓글 쓰기

다음 이전