콘텐츠로 이동

DataKit HTTPS 구성


개요

HTTPS는 보안을 목적으로 하는 HTTP 채널로, HTTP에 전송 암호화와 신원 인증을 추가하여 전송 과정의 보안을 보장합니다. 보안을 위해 프런트엔드 애플리케이션을 배포할 때 자주 https 프로토콜을 사용합니다. https 프로토콜을 사용하는 프런트엔드의 경우, 실제 사용자 모니터링(RUM)을 구성할 때 배포된 DataKit이 여전히 IP + 포트의 http 프로토콜을 사용하면 브라우저에서 안전하지 않다고 판단하여 애플리케이션의 RUM 데이터를 Guance에 업로드할 수 없습니다.

이 문서에서는 Nginx의 SSL을 사용하여 서버에서 HTTPS를 활성화하는 방법을 설명합니다.

전제 조건

  • CentOS 7.9를 실행하는 클라우드 호스트 1대
  • Alibaba Cloud 도메인, 도메인이 클라우드 호스트의 80 포트로 이미 해석되어 있어야 함
  • 클라우드 호스트에 <DataKit 설치>가 완료되어 있어야 함

설정 단계

Warning

현재 예시는 DataKit 버전 1.4.20(최신 버전)과 Nginx 버전 1.22.1을 사용하여 테스트되었습니다.

1 Nginx 설치

1.1 yum-utils 패키지 설치

클라우드 호스트에 로그인하여 다음 명령을 실행합니다.

yum install yum-utils -y

1.2 nginx.repo 생성

/etc/yum.repos.d/nginx.repo 파일을 생성하고 내용을 다음과 같이 입력합니다.

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/\$releasever/\$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/\$releasever/\$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key

1.3 설치 명령 실행

yum install nginx -y
systemctl start nginx
systemctl enable nginx
systemctl status nginx

running 상태가 표시되면 Nginx 설치가 성공한 것입니다.

image.png

1.4 ssl 모듈 확인

nginx -V를 입력하고 출력에 --with-http_ssl_module이 포함되어 있으면 ssl 모듈이 설치된 것입니다.

image.png

2 인증서 다운로드

2.1 SSL 인증서 다운로드

「Alibaba Cloud」 - 「디지털 인증서 관리 서비스」 - 「SSL 인증서」에 로그인하여 무료 인증서를 생성합니다.
인증서 생성이 완료되면 Nginx를 찾아 「다운로드」를 클릭합니다.

image.png

2.2 인증서 업로드

SSL 인증서의 압축을 풀고 7279093\_www.zzdskj.cn.key7279093\_www.zzdskj.cn.pem을 클라우드 호스트의 /opt/key 디렉토리에 업로드합니다.

image.png

2.3 Nginx 구성 파일 수정

/etc/nginx/conf.d/default.conf 파일을 편집하고 내용을 다음과 같이 입력합니다.
여기서 443 포트는 DataKit의 9529 포트로 리디렉션됩니다.

server {
    listen       80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;
    rewrite ^(.*)$ https://$host$1 permanent;
}

   server {
        listen       443 ssl http2;
        server_name  zzdskj.cn;
        ssl_certificate        /opt/key/7279093_www.zzdskj.cn.pem;
        ssl_certificate_key    /opt/key/7279093_www.zzdskj.cn.key;



        location / {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://localhost:9529/;
        }


        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

2.4 구성 다시 로드

다음 명령을 실행합니다.

nginx -s reload

3 검증

브라우저에 https 도메인을 입력하고 아래와 같은 화면이 표시되면 구성이 성공한 것입니다.

image.png

문서 평가

이 페이지가 도움이 되었나요?