아래 글의 내용중 Cloudflare SSL/TLS 적용 – 클라우드플래어 https 설정 가이드입니다.

#auto

Cloudflare 인증서 장점과 Let’s Encrypt 비교

Cloudflare SSL의 주요 장점

  • 인증서 자동 갱신 및 관리가 완벽히 자동화되어 있어 별도의 갱신 작업이 필요 없음
  • DDoS 보호, WAF(웹 애플리케이션 방화벽) 등 추가 보안 기능 제공
  • CDN 서비스를 통한 웹사이트 성능 최적화 및 로딩 속도 향상
  • 설정이 매우 간단하며 DNS 설정만으로 빠른 적용 가능

두 서비스의 비교

비용

  • Cloudflare: 기본 SSL 인증서 무료 제공, 프리미엄 기능은 유료
  • Let’s Encrypt: 완전 무료

관리 편의성

  • Cloudflare: DNS 설정만으로 자동 관리되며 추가 설정 불필요
  • Let’s Encrypt: Certbot 등의 도구를 통한 서버 설정 및 3개월마다 갱신 필요

보안 기능

  • Cloudflare: SSL/TLS 암호화 외에도 DDoS 보호, WAF 등 종합적인 보안 기능 제공
  • Let’s Encrypt: 순수 SSL/TLS 암호화에만 집중

유연성

  • Cloudflare: Flexible, Full, Full Strict 등 다양한 SSL 모드 제공
  • Let’s Encrypt: 표준 SSL/TLS 인증서만 제공

선택 기준

Cloudflare는 종합적인 웹 보안 및 성능 최적화가 필요한 경우에 적합하며, Let’s Encrypt는 단순히 SSL 인증서만 필요한 경우나 서버에 대한 완전한 통제권이 필요한 경우에 적합합니다.

새롭게 aoostar wtr pro r7 5825u 구매해 다른 도메인에 적용하게 되어 기록차 남기니 참고 바랍니다.

Cloudflare 인증서 생성하기

1단계: SSL/TLS 설정

  • Cloudflare 대시보드에서 도메인 선택 후 SSL/TLS 메뉴로 이동
#display
  • 암호화 모드를 “Full(전체)” 또는 “Full (strict)”(전체-엄격)로 설정

2단계: 인증서 생성

  • SSL/TLS > Origin Server(원본서버) 탭으로 이동
  • “Create Certificate”(인증서 생서) 버튼 클릭
  • “Generate private key and CSR with Cloudflare”(Cloudflare로 개인 키 및 CSR 생성) 옵션 선택
  • 호스트네임 설정 (와일드카드 도메인 사용 가능-서브도메인 사용 시 필수) ex: *.domain.com, domain.com
  • 인증서 유효기간 선택(참조2) – 가장 길게 15년 선택

인증서 설치 및 적용

인증서 정보 저장

  • 생성된 Origin Certificate(원본 인증서)와 Private Key(개인 키) 복사

복사 후 아래 명령어로 인증서 및 개인 키 생성(인식하기 쉽게 도메인명으로 생성함)

원본인증서 생성(위에 원본 인증서 복사 후 붙여넣기)

sudo nano /etc/ssl/certs/domain.com.pem

개인키 생성(위에 개인 키 복사 후 붙여넣기)

sudo nano /etc/ssl/private/domain.com.key

인증서 및 개인키 파일 권한 설정

sudo chmod 644 /etc/ssl/certs/domain.com.pem
sudo chmod 600 /etc/ssl/private/domain.com.key

Cloudflare Origin RSA PEM 키 다운로드 후 인증서 병합

cloudflare Origin RSA PEM 키 다운로드 (wget 또는 curl 명령어 사용)

wget https://developers.cloudflare.com/ssl/static/origin_ca_rsa_root.pem

다운로드된 cloudflare Origin RSA PEM키와 인증서 병합 – “domain.com” 을 자신의 도메인명으로 변경해주세요

sudo cat origin_ca_rsa_root.pem | sudo tee -a /etc/ssl/certs/domain.com.pem > /dev/null

dhparam.pem 파일 생성

dhparam.pem 파일을 아래 명령어로 생성합니다.

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

ssl 설정관련 서버 블락 작성

아래가 각 사이트마다 nginx의 인증서 부분을 지정 할 내용입니다.

아래와 같은 형식으로 진행됩니다.

# HTTP to HTTPS redirect
server {
    listen 80;
    server_name domain.com;
    return 301 https://$host$request_uri;
}

# HTTPS configuration
server {
    listen 443 ssl;
    server_name domain.com;

    # SSL certificates
    ssl_certificate /etc/ssl/certs/domain.com.pem;
    ssl_certificate_key /etc/ssl/private/domain.com.key;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    # SSL settings
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;

casaos의 nginx 설정은 아래와 같이 작성합니다. – domain 부분은 수정하세요

casa.domain.com 같이 서브 도메인으로 진행합니다. 반드시 cloudflare에 서브도메인 등록하고 진행하셔야 합니다.

# casa.domain.com
server {
    listen 80;
    server_name casa.domain.com;   #casa 서브도메인으로 등록했을때

    # HTTP 요청을 HTTPS로 리디렉션
    return 301 https://$host$request_uri;
}

# HTTPS 설정
server {
    listen 443 ssl;
    server_name casa.domain.com;   #casa 서브도메인으로 등록했을때

    # SSL certificates
    ssl_certificate /etc/ssl/certs/domain.com.pem;
    ssl_certificate_key /etc/ssl/private/domain.com.key;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    # SSL settings
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;

#######  위에 까지가 위에 설정한 ssl/tls 설정 내용입니다.####
   
    # Security headers organizr ifremae 설정
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-XSS-Protection "1; mode=block" always;
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header Content-Security-Policy "frame-ancestors 'self' https://home.domain.com" always;
    add_header Strict-Transport-Security "max-age=31536000" always;



location / {
  proxy_pass http://localhost:8007/;  #casaos 설정한 포트지정
      proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

위와 같이 작성 후 적용하면 아래와 같이 인증서 적용이 완료되어 안전한 사이트로 인식됩니다.

Cloudflare 암호화 모드 구성

대시보드에서 SSL/TLS – 개요 – 구성으로 진입합니다.

전체(엄격) 으로 선택 해줍니다. (또는 전체로)

도움 되셨으면 따듯한 커피한잔 부탁드려요!

donaricano-btn
Subscribe

도움 되셨으면 유튜브 구독 부탁드려요!!!!

관련 글들..

홈서버관리 대시보드 organizr 설치 – nginx & php8.4 기반

홈서버관리 대시보드 organizr 설치 – nginx & php8.4 기반

마니1월 10, 20258 min read

아래글의 내용중 홈서버관리 대시보드 organizr 설치 – nginx & php8.4 기반 가이드입니다. #auto 홈서버 관리 대시보드 역활을 하는 Organizr V2 입니다. 나스에 많은 서비스와 IP와 포트를 외울 필요 없이 organizr 을 사용하여 하나의 웹페이지에 나타낼수가 있습니다. 많은 정보를 보시려면 아래…

도메인 구매와 cloudflare로 이전

도메인 구매와 cloudflare로 이전

마니1월 8, 20252 min read

아래 글의 내용중 도메인 구매와 cloudflare로 이전 글입니다. #auto 도메인 저렴한게 구매하면 커피 한잔 값이라고 생각하면 되겠습니다. (저도 모으다 보니 도메인이 5개가 되었네요) 아래는 저렴하게 구매가 가능한 사이트 입니다. namesilo에서 주로 구매하고 이번에 글 작성 목적으로 namecheap에서 진행 해 봤습니다.…

casaos 설치 방법 – 우분투 초기 설정 기준

casaos 설치 방법 – 우분투 초기 설정 기준

마니1월 8, 20254 min read

아래 글의 내용 중 casaos 설치 방법 – 우분투 초기 설정 기준 입니다. #auto CasaOS는 간편한 홈 서버 운영체제로, Docker를 기반으로 다양한 애플리케이션과 개인 클라우드를 쉽게 관리할 수 있는 오픈소스 플랫폼입니다. 직관적인 UI로 초보자도 간단히 설치하고 사용할 수 있습니다. 설치…

Nginx – extras 설치와 기본 설정

Nginx – extras 설치와 기본 설정

마니1월 6, 20252 min read

아래글의 내용중 Nginx – extras 설치와 기본 설정입니다. #auto 도메인 호스팅할때 필요한 nginx 설치 방법 입니다. 아래는 nginx 패키지별 모듈 차이점입니다. 패키지 기본 모듈 설명 nginx – 기본 HTTP 모듈 (예: ngx_http_core_module, ngx_http_vhost_traffic_status_module 등) 기본적인 HTTP 웹 서버 기능 제공.…