티스토리 뷰

반응형

우분투에 apidoc(http://apidocjs.com/) 을 사용중이다.


API 문서를 다루기에 주소가 노출될 경우 보안에 위협이 될수도 있다.


사내에서는 사내 아이피만 접근 가능하도록 할수 있겠지만, 외부 개발자와 함께 하는 경우에는 부득이하게 오픈을 해야한다.


Basic Auth를 이용해 간단한 인증 절차를 통한 보안처리를 해보기로 했다.


우분투에 아파치가 설치가 되어있다는 가정하에 진행을 한다.


필자는 /home 폴더 아래에 각 계정별 폴더가 있다. 


api와 같은 특정 폴더만 basic auth 를 이용할 예정이므로 

/etc/apache2/sites-enables/000-default.conf

위의 사이트 설정 파일에 다음과 같이 설정이 되어 있어야 한다. 

<Directory /home/test/public_html/>

        Options FollowSymLinks

        AllowOverride ALL

        Allow from ALL

        Require all granted

</Directory>


만약 /home/test/public_html 아래에 모든 페이지와 리소스를 접근할때 인증을 받으려면 아래와 같이 설정을 하면 된다. 

<Directory /home/test/public_html/>

        AuthType Basic

        AuthName "Restrict Content"

        AuthUserFile /home/test/.htpasswd

        Require valid-user

</Directory>



이후 baisc auth 에 사용할 사용자 파일을 만든다.

계정별로 따로 관리가 필요하여 관리에 용이하도록 각 계정폴더에 htpasswd 파일을 생성하였다.


다음 명령어를 통해 htpasswd 파일을 생성한다.

sudo htpasswd -c /home/test/.htpasswd apiuser

apiuser 는 생성할 사용자 이름이다.


위의 명령어를 입력하면 다음과 같이 패스워드를 묻고, 성공하면 다음 메시지를 볼수있다.

New password: 

Re-type new password: 

Adding password for user apiuser


여기까지 기본 준비 작업이 끝났다.


이제 특정 폴더에 basic auth 를 적용시키기 위한 최종 단계이다.

public_html/apidoc 이라는 폴더에 적용을 하려고 한다면, 

해당 폴더에 .htaccess 파일을 생성해준다.


vi public_html/apidoc/.htaccess

 

안에 내용은 다음과 같이 작성한다. 

AuthType Basic
AuthName "Restricted Content"
AuthUserFile /home/test/public_html/apidoc/.htpasswd
Require valid-user

AuthUserFile 은 위에서 생성한 .htapasswd 파일의 경로이다. 절대경로로 입력해주어야한다. 


다 끝났으면 /etc/init.d/apache2 restart 를 한번 해준다.


이후 잘 되는지 확인은 http://domain/apidoc 으로 접속해보면 된다.


이렇게 잘 뜬다면 성공!


반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함