반응형
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>
반응형
'Develop > 기타 작업' 카테고리의 다른 글
Docker architecture, save, load, tag 및 ctr tag, export, import, push (0) | 2024.04.10 |
---|---|
sed 수정, 특정 글 위/아래 추가, 특정 글 아래 수정, 띄어쓰기 입력 (0) | 2024.04.08 |
No enclosing instance of type is accessible (java inner class) (0) | 2023.07.31 |
Nginx client request time setting(lingering_timeout ) (0) | 2023.05.23 |
Nginx Error Page (html)처리 (1) | 2022.11.03 |