Develop/기타 작업
Apache Authentication and Authorization
팡연
2023. 11. 7. 22:18
반응형
Nginx의 auth_request 기능을 사용하고 싶었지만, apache에는 이와 비슷한 기능이 없는 것 같아
AuthType이라는것을 사용하였다.
1. 사용전 htpasswd 확인
htpasswd는 기본적으로 Apach생성 경로의 bin폴더에 있다.
# Apache 가 /usr/local 폴더에 있을경우
/usr/local/apache/bin/htpasswd
bin폴더에 없을경우 httpd를 설치한다. - https://httpd.apache.org/download.cgi#apache24
2. htpasswd를 통해 계정과 비밀번호를 생성
-c 는 create 옵션이고 /home/test 폴더 내에 .htpasswd 파일을 생성하고
해당 파일에 user1이라는 계정과 패스워드를 관리한다
# Input
./htpasswd -c /home/test/.htpasswd user1
# Output
cat /home/test.htpasswd
user1:$apr1$.0CAabqX$rsdf8sdSDFgs/p90SDGcvb1Gs/
3. AuthType 설정
사용 중인 conf파일에 설정 후 아파치 재시작한다.
<Location "/private">
AuthType Basic
AuthName "Authentication required"
AuthUserFile /home/test/.htpasswd
Require valid-uesr
</Location>
기타.
이렇게 설정할 경우 기본적으로 웹사이트에 로그인하는 로직이 있다면 해당 세션이 끊기게되는데
아래 설정을 추가할 경우 해결할 수 있긴하다.
RequestHeader unset Authorization
<Location "/private">
AuthType Basic
AuthName "Authentication required"
AuthUserFile /home/test/.htpasswd
Require valid-uesr
</Location>
반응형