Nginx Basic 인증을 여러 페이지에 다른 사용자로 적용
처음에
이번에 하고 싶었던 것은, 표제대로.
Nginx의 Basic 인증을 여러 페이지에서 별도의 사용자 경로로 걸기
페이지 A(page_a)에 대한 사용자(alpha) 경로
페이지 B(page_b)에 유저(beta) 패스로 Basic 인증을 걸어,
페이지 A에서 사용자(beta) 페이지 B에 사용자(alpha)로는 인증을 할 수 없게 하고 싶다.
우선은 Basic 인증에 대해 정리해 보았습니다.
기본 인증
"Basic 인증"은 웹 사이트의 특정 페이지 및 파일에 액세스 제한을 적용 할 수있는 인증 방법 중 하나입니다.
Basic 인증을 하면, 인증을 거친 웹 사이트에 액세스하려고 할 때,
인증 대화 상자가 시작되고 사용자 이름 (ID)과 암호를 입력하라는 메시지가 나타납니다.
간이적인 인증을 위해, 공개전의 WEB 사이트의 관계자만의 열람등의 목적으로도 사용할 수 있습니다.
도입 방법
이번은 OS는 linux로 Nginx는 도입이 끝난 것을 상정.
도입 방법은 여기
htpasswd 명령 설치
$ sudo yum install httpd-tools
.htpasswd 파일 만들기
사용자 이름과 비밀번호
$ sudo htpasswd -c /etc/nginx/.htpasswd alpha
New password: alpha1
Re-type new password: alpha1
Adding password for user username
$ cat /etc/nginx/.htpasswd
alpha:$alpha1$1HL4gU0L$Sm5cgGBydSUV5uo9Z8aNe0
nginx 설정 파일 추가
Basic 인증과 .htpasswd 파일을 읽는 설명.
$vim /etc/nginx/nginx.conf
…
server {
listen 80;
root /usr/share/nginx/html;
index index.html index.htm;
location /page_a{
#認証時に表示されるメッセージ
auth_basic "Restricted";
#.htpasswdファイルのパス
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass: http://127.0.0.1:8000;
}
}
…
※proxy_pass는 잊어버리기 십상입니다만, gunicorn라든지 WSGI 사용하고 있으면 404 에러가 나옵니다.
재부팅
$sudo service nginx restart
이상으로 페이지 A(page_a)에는 Basic 인증이 걸렸습니다!
사이트에 접속하면 BASIC 인증이 걸려있는 것을 확인할 수 있습니다.
다른 페이지에 기본 인증하기
방금 작성한 .htpasswd와는 다른 파일에 유저 B(beta) 패스를 기재.
$ sudo htpasswd -c /etc/nginx/.htpasswd_beta beta
New password: beta2
Re-type new password: beta2
Adding password for user username
$ cat /etc/nginx/.htpasswd_beta
beta:$beta2$1HL48ana$3OxkzGBydDeyzsc1nURil1
nginx.conf에 추가.
$vim /etc/nginx/nginx.conf
…
server {
listen 80;
root /usr/share/nginx/html;
index index.html index.htm;
location /page_a{
#認証時に表示されるメッセージ
auth_basic "Restricted";
#.htpasswdファイルのパス
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass: http://127.0.0.1:8000;
}
location /page_b{
auth_basic "Restricted";
#ページBの.htpasswdファイルのパス
auth_basic_user_file /etc/nginx/.htpasswd_beta;
proxy_pass: http://127.0.0.1:8000;
}
}
…
재부팅
$sudo service nginx restart
이상으로 페이지 B에도 Basic 인증을 걸 수가 있었습니다.
마지막으로
이번에는 별도의 페이지에서 동일한 사용자 경로를 사용할 수 없게 하기 위해 .htpasswd를 나누었습니다.
단순히 여러 페이지에 인증을 걸기만 하면 분리할 필요가 없습니다.
용도에 맞는 설정을 권장합니다.
마지막까지 읽어 주셔서 감사합니다.
Reference
이 문제에 관하여(Nginx Basic 인증을 여러 페이지에 다른 사용자로 적용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/noblin_1031/items/ef56b0ae310178e9f279
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
"Basic 인증"은 웹 사이트의 특정 페이지 및 파일에 액세스 제한을 적용 할 수있는 인증 방법 중 하나입니다.
Basic 인증을 하면, 인증을 거친 웹 사이트에 액세스하려고 할 때,
인증 대화 상자가 시작되고 사용자 이름 (ID)과 암호를 입력하라는 메시지가 나타납니다.
간이적인 인증을 위해, 공개전의 WEB 사이트의 관계자만의 열람등의 목적으로도 사용할 수 있습니다.
도입 방법
이번은 OS는 linux로 Nginx는 도입이 끝난 것을 상정.
도입 방법은 여기
htpasswd 명령 설치
$ sudo yum install httpd-tools
.htpasswd 파일 만들기
사용자 이름과 비밀번호
$ sudo htpasswd -c /etc/nginx/.htpasswd alpha
New password: alpha1
Re-type new password: alpha1
Adding password for user username
$ cat /etc/nginx/.htpasswd
alpha:$alpha1$1HL4gU0L$Sm5cgGBydSUV5uo9Z8aNe0
nginx 설정 파일 추가
Basic 인증과 .htpasswd 파일을 읽는 설명.
$vim /etc/nginx/nginx.conf
…
server {
listen 80;
root /usr/share/nginx/html;
index index.html index.htm;
location /page_a{
#認証時に表示されるメッセージ
auth_basic "Restricted";
#.htpasswdファイルのパス
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass: http://127.0.0.1:8000;
}
}
…
※proxy_pass는 잊어버리기 십상입니다만, gunicorn라든지 WSGI 사용하고 있으면 404 에러가 나옵니다.
재부팅
$sudo service nginx restart
이상으로 페이지 A(page_a)에는 Basic 인증이 걸렸습니다!
사이트에 접속하면 BASIC 인증이 걸려있는 것을 확인할 수 있습니다.
다른 페이지에 기본 인증하기
방금 작성한 .htpasswd와는 다른 파일에 유저 B(beta) 패스를 기재.
$ sudo htpasswd -c /etc/nginx/.htpasswd_beta beta
New password: beta2
Re-type new password: beta2
Adding password for user username
$ cat /etc/nginx/.htpasswd_beta
beta:$beta2$1HL48ana$3OxkzGBydDeyzsc1nURil1
nginx.conf에 추가.
$vim /etc/nginx/nginx.conf
…
server {
listen 80;
root /usr/share/nginx/html;
index index.html index.htm;
location /page_a{
#認証時に表示されるメッセージ
auth_basic "Restricted";
#.htpasswdファイルのパス
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass: http://127.0.0.1:8000;
}
location /page_b{
auth_basic "Restricted";
#ページBの.htpasswdファイルのパス
auth_basic_user_file /etc/nginx/.htpasswd_beta;
proxy_pass: http://127.0.0.1:8000;
}
}
…
재부팅
$sudo service nginx restart
이상으로 페이지 B에도 Basic 인증을 걸 수가 있었습니다.
마지막으로
이번에는 별도의 페이지에서 동일한 사용자 경로를 사용할 수 없게 하기 위해 .htpasswd를 나누었습니다.
단순히 여러 페이지에 인증을 걸기만 하면 분리할 필요가 없습니다.
용도에 맞는 설정을 권장합니다.
마지막까지 읽어 주셔서 감사합니다.
Reference
이 문제에 관하여(Nginx Basic 인증을 여러 페이지에 다른 사용자로 적용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/noblin_1031/items/ef56b0ae310178e9f279
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ sudo yum install httpd-tools
$ sudo htpasswd -c /etc/nginx/.htpasswd alpha
New password: alpha1
Re-type new password: alpha1
Adding password for user username
$ cat /etc/nginx/.htpasswd
alpha:$alpha1$1HL4gU0L$Sm5cgGBydSUV5uo9Z8aNe0
$vim /etc/nginx/nginx.conf
…
server {
listen 80;
root /usr/share/nginx/html;
index index.html index.htm;
location /page_a{
#認証時に表示されるメッセージ
auth_basic "Restricted";
#.htpasswdファイルのパス
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass: http://127.0.0.1:8000;
}
}
…
$sudo service nginx restart
방금 작성한 .htpasswd와는 다른 파일에 유저 B(beta) 패스를 기재.
$ sudo htpasswd -c /etc/nginx/.htpasswd_beta beta
New password: beta2
Re-type new password: beta2
Adding password for user username
$ cat /etc/nginx/.htpasswd_beta
beta:$beta2$1HL48ana$3OxkzGBydDeyzsc1nURil1
nginx.conf에 추가.
$vim /etc/nginx/nginx.conf
…
server {
listen 80;
root /usr/share/nginx/html;
index index.html index.htm;
location /page_a{
#認証時に表示されるメッセージ
auth_basic "Restricted";
#.htpasswdファイルのパス
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass: http://127.0.0.1:8000;
}
location /page_b{
auth_basic "Restricted";
#ページBの.htpasswdファイルのパス
auth_basic_user_file /etc/nginx/.htpasswd_beta;
proxy_pass: http://127.0.0.1:8000;
}
}
…
재부팅
$sudo service nginx restart
이상으로 페이지 B에도 Basic 인증을 걸 수가 있었습니다.
마지막으로
이번에는 별도의 페이지에서 동일한 사용자 경로를 사용할 수 없게 하기 위해 .htpasswd를 나누었습니다.
단순히 여러 페이지에 인증을 걸기만 하면 분리할 필요가 없습니다.
용도에 맞는 설정을 권장합니다.
마지막까지 읽어 주셔서 감사합니다.
Reference
이 문제에 관하여(Nginx Basic 인증을 여러 페이지에 다른 사용자로 적용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/noblin_1031/items/ef56b0ae310178e9f279
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Nginx Basic 인증을 여러 페이지에 다른 사용자로 적용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/noblin_1031/items/ef56b0ae310178e9f279텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)