티스토리 뷰
우분투에 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 으로 접속해보면 된다.
이렇게 잘 뜬다면 성공!
'Develope > Server' 카테고리의 다른 글
linux 기본 에디터 vim 설정하는 두가지 방법 (1) | 2018.04.11 |
---|---|
AWS RDS mysql 시간 설정 ( timezone 변경 ) (7) | 2018.04.07 |
AWS Ubuntu 시간 변경하기 (3) | 2018.04.04 |
ubuntu 폴더별 용량, 파일별 용량 보기 | 정렬하기 (0) | 2018.03.21 |
Ubuntu 16.04 시작 프로그램 (서비스) 등록하기 (0) | 2018.03.14 |
- Total
- Today
- Yesterday
- 캠핑
- swift
- diy
- 머신러닝
- 서버
- ios
- 인공지능
- 엘라스틱서치
- 아두이노
- 딥러닝
- 우분투
- Android
- 아이폰
- 공기청정기
- IOT
- 라즈베리파이
- Deeplearning
- mysql
- 강좌
- OpenCV
- 미세먼지
- xcode
- php
- 사물인터넷
- 리눅스
- ubuntu
- object-C
- 파이썬
- Python
- 스위프트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |