AWS Elastic Beanstalk 애플리케이션에서 HTTP 기본 인증 구성

2745 단어 tutorialawswebdev
Elastic Beanstalk는 웹 애플리케이션 배포 및 확장에 사용되는 Amazon Web Service 내의 플랫폼입니다. 이를 통해 개발자는 AWS CodePipeline을 통해 애플리케이션을 AWS 클라우드에 업로드할 수 있으며 배포는 잊어버릴 수 있습니다.

그리고 AWS가 Amazon Linux 2를 사용하는 최신 버전의 Elastic Beanstalk에서 일부 내용을 변경한 것 같습니다. 따라서 인터넷에서 찾을 수 있는 대부분의 구성이 더 이상 작동하지 않습니다.

다음 단계에서는 HTTP 기본 인증을 사용하여 앱을 배포하는 새로운 접근 방식을 설명합니다.


1. .htpasswd 생성



.htpasswd는 HTTP 사용자의 기본 인증을 위한 사용자 이름과 암호를 저장하는 데 사용됩니다. Elastic Beanstalk는 환경의 동작과 포함된 리소스를 구성하는 데 사용할 수 있는 많은 구성 옵션을 정의합니다. 우리는 논문 중 하나를 사용할 것입니다 :)

애플리케이션 번들의 루트에 .ebextensions라는 폴더를 만들고 다음 코드를 사용하여 00-http_basic_auth.config라는 파일을 추가합니다.

files:
  /etc/nginx/.htpasswd:
    mode: "000755"
    owner: root
    group: root
    content: |
      user:password


🚨 사용자와 암호를 조합으로 바꾸십시오. 인터넷에서 이 파일의 암호를 생성하는 방법을 쉽게 찾을 수 있습니다. :)


2. 기본 위치 재정의



다음으로 Beanstalk에서 제공하는 기본 nginx 위치 conf를 덮어써야 합니다.

이렇게 하려면 애플리케이션 번들의 .platform/nginx/conf.d/elasticbeanstalk/00_application.conf 위치에 파일을 생성합니다.

그런 다음 이 코드를 추가합니다. 이것은 마지막 두 줄을 추가한 기본 nginx 위치 conf입니다.

ℹ️ 애플리케이션에 따라 포트 번호를 변경하는 것을 잊지 마십시오.

location / {
    proxy_pass          http://127.0.0.1:8080;
    proxy_http_version  1.1;

    proxy_set_header    Connection          $connection_upgrade;
    proxy_set_header    Upgrade             $http_upgrade;
    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;
}



3. HTTP 기본 인증이 상태 확인과 함께 작동하도록 합니다.



지금까지 구성이 준비되었으며 앱을 배포하려고 하면 HTTP 기본 인증이 작동하지만 Beanstalk는 이제 상태 확인이 자체적으로 인증해야 하므로 앱이 비정상임을 나타냅니다. 이를 방지하기 위해 하나의 경로를 공개적으로 사용할 수 있습니다.

이전에 만든 파일.platform/nginx/conf.d/elasticbeanstalk/00_application.conf에 다음 코드를 추가합니다.

location /elb-status {
    proxy_pass          http://127.0.0.1:8080/status;
}


ℹ️ 이 경로도 앱에서 작동하지만 민감한 정보 없이 상태 확인만 하세요.

마지막으로 Beanstalk 인스턴스의 기본 상태 확인 경로를 변경하기만 하면 됩니다.
AWS 콘솔에서 Beanstalk 인스턴스로 이동한 다음 로드 밸런서 섹션에서 "구성"및 "편집"을 클릭하십시오.
이 상태 확인 경로/elb-status를 사용하여 기본 프로세스를 수정합니다.



변경 사항 저장 및 적용


도움이 되었기를 바라며 HTTP 기본 인증을 즐기세요 :))

좋은 웹페이지 즐겨찾기