:
server {
listen 8080;
location/{
proxy_pass http://nodejs;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
gzip on;
}
server {
listen 8080;
location/{
proxy_pass http://nodejs;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
gzip on;
}
로그인 자격 증명을 containts /etc/nginx/.htpasswd에서 별도의 암호 파일로 : 그것은 다음과 같이 설정해야 당신이 원하는 무엇
이다.
1 단계 : 해당 지역의 리눅스 환경에 이동하여
sudo htpasswd -c .htpasswd someusernameofyourchoice
가 .htpasswd 파일로 이동하고 생성 된 사용자 이름과 암호 줄을 당겨 입력합니다. 그것은이 같은 모양 :
someusernameofyourchoice:$apr1$.1EAU7DD$rt9jdihy1U.cFuBzJTMed.
STEP 2 : (당신의 .git/디렉토리가 위치한) 노드 응용 프로그램의 루트 디렉토리에 지금
.ebextensions라는 숨겨진 디렉토리를 생성/
2 개의 파일을 만들어야하므로 .ebextensions/디렉토리로 이동하십시오.
3 단계 :
첫 번째 파일은 콩나무 응용 프로그램에 대한 귀하의 .htpasswd 파일을 생성합니다 config 파일 것입니다. 앞에서 생성 한 사용자 이름과 암호 해시를이 파일에 넣고 다음과 같이 이름을 지정하십시오.
00_nginx_htpasswd.설정
files:
"/etc/nginx/.htpasswd" :
mode: "000755"
owner: root
group: root
content: |
someusernameofyourchoice:$apr1$.1EAU7DD$rt9jdihy1U.cFuBzJTMed.
4 단계 :
당신이 당신의 탄성 콩나무 환경에 00_elastic_beanstalk_proxy.conf 파일을 업데이트됩니다 .ebextensions/디렉토리에 생성됩니다 두 번째 파일. 다음과 같이 이름은 다음과 같습니다
01_nginx_auth.config
files:
/tmp/deployment/nginx_auth.sh:
mode: "000755"
content: |
sed -i 's/$proxy_add_x_forwarded_for;/$proxy_add_x_forwarded_for;\n auth_basic "Restricted";\n auth_basic_user_file \/etc\/nginx\/.htpasswd;\n/' /tmp/deployment/config/#etc#nginx#conf.d#00_elastic_beanstalk_proxy.conf
container_commands:
nginx_auth:
command: "/tmp/deployment/nginx_auth.sh"
참고 : 만 암호 보호가 특정 환경에있을하려면 이러한 개발 환경으로. 환경 변수를 사용자 환경 (환경 설정> 소프트웨어 구성 패널의 beanstalk 대시 보드)에 전달한 다음 실행하기 전에 해당 환경 변수를 검사하는 조건부 파일을이 명령에 추가 할 수 있습니다. 이렇게하면 프로덕션 환경을 공개적으로 액세스 할 수있는 상태로두고 개발 환경을 암호로 보호 할 수 있습니다. 모든 것을 beanstalk 환경으로 밀어 넣으려고 git에 넣는 것처럼 매우 편리합니다. 그 추가와 수정 된 파일입니다 :
01_nginx_auth.config
files:
/tmp/deployment/nginx_auth.sh:
mode: "000755"
content: |
if [ "$NODE_ENV" == "development" ]; then
sed -i 's/$proxy_add_x_forwarded_for;/$proxy_add_x_forwarded_for;\n auth_basic "Restricted";\n auth_basic_user_file \/etc\/nginx\/.htpasswd;\n/' /tmp/deployment/config/#etc#nginx#conf.d#00_elastic_beanstalk_proxy.conf
fi
container_commands:
nginx_auth:
command: "/tmp/deployment/nginx_auth.sh"
STEP 5 : 당신이 당신의 .ebextensions/디렉토리에 생성 이러한 파일을 모두 갖게되면, 커밋
그리고 당신의 탄력있는 콩에 그것을 밀어 넣으십시오. 이제 1 단계에서 생성 한 사용자 이름과 암호 조합을 묻는 메시지가 표시됩니다.
나는 여기서도 끝을 맺었다. [Passport] (http://passportjs.org/)는 특히 Express를 사용하여이를 달성하는 올바른 방법이었습니다. –