예전에 공홈에 올렸던 팁인데, 많은 분들에게 도움이 되도록 여기에도 복사해 둡니다.

 


 

서버에 SSL을 설치할 때

인증서는 어찌어찌 집어넣으면 되는데,

그 밖의 설정들에는 별로 신경쓰지 않는 경우가 대부분입니다.

실제 보안은 인증서가 아닌 그 밖의 설정들이 좌우하는데 말이죠.

 

그래서 몇십만 원짜리 최고급 인증서를 샀는데도 불구하고

SSL Server Test 사이트에서 검사를 해보면

몇천 원짜리 인증서를 사용하는 사이트보다 오히려 못한 경우가 수두룩해요.

 

이 글에서는 SSL 인증서를 구입하고 아파치와 nginx에 설치하는 방법을 정확하게 안내해 드리겠습니다.

언제 작성되었는지도 모르는 정체불명의 블로그에서 설정 막 복사해다 쓰지 마시고

이 글을 참고해서 안전하게 설정하세요.

 

요약 : 그냥 따라하시면 됩니다.

 

 

 

1. 개인키 생성하기

 

명령 :  openssl genrsa -out example.com.key 2048

 

example.com.key 파일에 개인키가 저장됩니다. 암호는 없는 상태입니다.

대개 서버에 SSL을 설치할 때는 암호가 없는 개인키를 사용합니다.

암호가 있는 개인키를 사용하면 재부팅시 웹서버가 자동으로 실행되지 않기 때문인데요...

그 대신 개인키는 반드시 관리자(root)만 접근할 수 있도록 퍼미션을 600으로 해주세요.

 

개인키는 (호스팅 업체를 제외하면) 어느 누구에게도 주어서는 안됩니다.

인증서 발급 업체에도 주면 안됩니다. (달라고 하지도 않습니다.)

 

StartSSL의 경우 개인키와 CSR까지 자동으로 생성해 주기도 합니다.

개인적으로 그다지 추천하는 방식은 아닙니다만 (인증서 발급업체에게 개인키가 노출되다니 ㅡ.ㅡ)

이 방식으로 구입하셨다면 1~2단계는 건너뛰셔도 됩니다.

 

 

2. 인증서 서명 요청(CSR) 생성하기

 

명령 :  openssl req -new -sha256 -key example.com.key -out example.com.csr

 

아까 만든 개인키를 사용해서 인증서 서명 요청을 생성하고, example.com.csr 파일에 저장합니다.

몇 가지 질문을 하는데, Common Name을 제외하면 크게 중요하지 않습니다.

업체에 따라 국가, 도시명, 회사이름 등을 정확하게 입력하라고 요구하기도 하고, 안 하기도 합니다.

 

Common Name은 반드시 님의 도메인을 정확하게 입력해야 합니다. (예: www.example.com)

 

대개 www.example.com으로 신청하면 www.example.com, example.com 모두 사용 가능한 인증서가 발급됩니다.

그 밖의 서브도메인으로 신청하면 이런 배려를 보장할 수 없습니다.

 

 

 

3. 인증서 구입하기

 

인증서 구입 방법은 업체마다 다르기 때문에 자세히 설명하지 않겠습니다.

보통은 아래와 같은 순서로 진행됩니다.

 

상품선택 → 결제 → CSR 업로드 → (아래 설명 참조) → 인증에 사용할 메일주소 선택 → (기다리세요)

인증메일 도착 → 링크 클릭 또는 인증코드 입력 → (기다리세요)

인증서 발급완료 통지 → 첨부파일 또는 구입처 웹사이트에서 인증서 다운로드

 

발급업체에 따라서는 CSR 업로드 직후에 서명 방식을 선택하라고 하는 경우가 있습니다.

선택 가능한 방식은 SHA1과 SHA2(SHA256)이 있는데요...

SHA1은 1년짜리 인증서에만 사용하실 수 있습니다. 2~3년짜리에 사용하면 크롬에서 에러가 납니다.

반면, 윈도우 XP SP2 이하에서는 SHA256 인증서를 이용한 서버에 접속할 수 없습니다.

두 마리 토끼를 모두 잡을 수는 없으니 신중하게 결정하세요.

 

 

 

4. 중간 인증서 확보 및 정리하기

 

이 단계가 매우 중요합니다. 특히 StartSSL이나 PositiveSSL처럼 인기가 많은 저렴한 인증서는

"중간 인증서", "체인 인증서", 또는 "CA 인증서"라고 하는 별도의 인증서가 따라오는데,

이것을 정확한 순서대로 모두 설치해야 모든 브라우저에서 제대로 인식이 되거든요.

 

비싼 인증서는 발급업체에서 직접 님의 신원을 보증하는 데 비해,

저렴한 인증서는 갑-을-병-정을 거쳐서 연대보증이 이루어진다고 생각하면 간단합니다.

 

아래의 인증서 번호를 잘 기억해 두세요.

나중에 서버 설정할 때 아주 중요합니다.

 

[참고]

 

PositiveSSL에서 SHA256로 서명한 인증서를 구입하면 아래와 같이 3개의 인증서가 제공됩니다.

간혹 2~3을 ca-bundle이라는 이름으로 함께 묶어서 제공하기도 합니다.

  1. 님이 구입한 인증서
  2. COMODO RSA Domain Validation Secure Server CA
  3. COMODO RSA Certification Authority

StartSSL 무료 인증서의 경우에는 아래와 같은 3개의 인증서가 필요합니다.

2~3이 메일에 따라오지 않았다면 StartSSL 사이트에서 별도로 다운받으세요.

  1. 님이 구입한 인증서
  2. StartCom Class 1 Primary Intermediate Server CA
  3. StartCom Certification Authority

StartSSL 망했어요. 쓰지 마세요.

 

※ 중간 인증서의 정확한 이름은 발급업체의 정책에 따라 변경될 수 있습니다.

 

 

 

5. 서버에 설치하기

 

개인키와 모든 인증서를 서버의 적당한 위치에 복사하세요.

절대로 웹상에서 접근할 수 있는 경로에 넣으면 안됩니다!

개인적으로는 관리자만 접근할 수 있는 /root 폴더 내에 넣어버리는 것을 추천합니다.

소유자는 관리자(root)로 바꾸고, 퍼미션은 모조리 600으로 해주세요.

 

인증서 서명 요청(CSR)은 더이상 필요하지 않습니다.

원하시면 보관해 두어도 되지만, 딱히 이게 또 필요한 경우는 본 적이 없네요.

 

 

5-1. 아파치

 

님의 인증서는 그대로 두고, 2~3번 인증서를 하나의 파일로 합칩니다.

반드시 2번이 먼저 오고, 빈 줄 없이 곧바로 3번 인증서가 붙고, 마지막에도 빈 줄이 없어야 합니다.

그리고 적당한 <VirtualHost IP주소:443> 블록 안에 아래와 같이 설정합니다.

 

SSLEngine on
SSLCertificateFile      /폴더/경로/1번.인증서.파일명
SSLCertificateChainFile /폴더/경로/2~3번.인증서.붙인거.파일명
SSLCertificateKeyFile   /폴더/경로/개인키.파일명

 

 

5-2. nginx

 

님의 인증서, 2~3번 인증서를 모두 하나의 파일로 합칩니다.

반드시 님의 인증서가 제일 먼저, 그 다음에 2번, 마지막에 3번이 붙어야 합니다.

처음, 중간, 또는 맨 끝에 빈 줄이 있으면 안 됩니다.

그리고 적당한 server { listen 443 ssl; } 블록 안에 아래와 같이 설정합니다.


ssl_certificate /폴더/경로/123번.인증서.모두.합친.파일명;
ssl_certificate_key /폴더/경로/개인키.파일명;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;

 

각 줄의 맨 마지막에 세미콜론(;)이 들어가는 것에 주의하세요.

 

 

 

6. 암호화 알고리듬 설정하기

 

실제로 보안을 제공하는 것은 인증서가 아니라 암호화 알고리듬입니다.

인증서는 일종의 자격증에 불과하고요.

암호화 알고리듬 설정을 잘 하면 몇천 원짜리 인증서로도 최고의 보안을 얻을 수 있고,

반대로 설정을 잘못하면 몇십만 원짜리 인증서를 사용하더라도 쉽게 뚫립니다.

 

위의 5-1, 5-2처럼 설정하고 끝내면 기본값 그대로 사용하게 되는데,

아파치와 nginx 모두 기본값은 보안이 안습입니다.

그래서 기본값을 변경해 주어야 합니다.

 

아래의 알고리듬 및 프로토콜 목록은 모질라 재단에서 추천하는 것을 따랐습니다.

IE7 이상, 안드로이드 2.3 이상, 크롬, 파이어폭스, 오페라, 사파리 등 대부분의 최신 브라우저와 호환됩니다.

 

IE6까지 호환되도록 하려면 애꿎은 최신 브라우저 사용자들의 보안이 약해질 수 있습니다.

여기서는 과감하게 IE6을 버리도록 하겠습니다.

 

반드시 IE6과 호환되는 설정이 필요하신 분은

  - 아파치: 아래의 설정에서 -SSLv3를 지우세요.

  - nginx: 아래의 설정에서 TLSv1 앞에 SSLv3를 추가하세요.

  - 여기를 참고해서 알고리듬 목록을 변경하세요.

 

 

6-1. 아파치

 

아래와 같이 설정합니다.

알고리듬 목록이 상당히 길죠? 최대한 다양한 버전의 브라우저에서 최대한의 보안을 얻을 수 있도록

모질라 재단에서 엄선한 암호화 알고리듬 목록입니다.

 

SSLProtocol all -SSLv2 -SSLv3


SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA


SSLHonorCipherOrder on

 

 

6-2. nginx

 

아래와 같이 설정합니다.

알고리듬 목록은 아파치와 동일합니다. 설정 문법이 약간 다른 것 뿐이예요.

 

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;


ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';


ssl_prefer_server_ciphers on;

 

 

 

7. 보너스: DH Param & OCSP Stapling (귀찮으신 분은 안 해도 됩니다.)

 

DH Param은 일부 암호화 알고리듬에 사용되는 커다란 난수 하나를 미리 생성해 두어서

암호화 성능을 향상시키고 보안을 높이는 방법입니다.

 

OCSP Stapling은 님의 인증서가 유효하다는 증명을 미리 받아두어서

사용자가 님의 사이트에 처음 방문할 때 접속 속도를 높여주는 방법입니다.

 

DH Param은 아래의 명령을 사용해서 생성합니다. (nginx에서만 사용 가능)

 

openssl dhparam -out example.com.dhparam 2048

 

몇 분 가량 걸릴 수도 있으니, 서버가 응답하지 않는 것 같아도 걱정하지 마세요.

 

OCSP Stapling에 사용되는 파일은 아파치의 중간 인증서와 같습니다.

즉, 2번 인증서와 3번 인증서를 순서대로 붙이면 됩니다. 확장자는 ocsp라고 해주세요.

아파치의 경우에는 중간 인증서 파일을 그대로 사용하기 때문에 별도로 만들 필요 없습니다.

 

이렇게 생성한 dhparam 파일과 ocsp 파일을 인증서 및 개인키와 같은 경로에 저장하고,

인증서 및 개인키와 마찬가지로 퍼미션을 제한해 주세요.

 

주의: StartSSL에서 인증서를 구입하신 경우, 약 24시간 동안은 OCSP Stapling을 사용하지 않는 것이 좋습니다.

인증서 구입 직후에 OCSP Stapling을 사용하면 오히려 인증서가 유효하지 않다고 나옵니다.

 

 

7-1. 아파치

 

아파치는 DH Param을 지원하지 않습니다.

 

아파치 2.4 이상에서는 아래의 설정으로 OCSP Stapling을 적용할 수 있습니다.

 

SSLUseStapling on
SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off
SSLStaplingCache shmcb:/var/run/ocsp(128000)

 

위의 설정에 사용되는 shmcb:/var/run... 이 설정은 바꾸지 않아도 됩니다.

ocsp 파일 경로를 지정하는 것이 아니라 내부적으로 사용하는 캐시파일 경로거든요.

 

 

7-2. nginx

 

아래와 같이 설정합니다.

 

ssl_dhparam /폴더/경로/아까.생성한.dhparam;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /폴더/경로/2~3번.인증서.붙인거.파일명;
resolver 8.8.8.8 8.8.4.4;

 

resolver는 내부적으로 인증서 발급업체와의 통신을 위해 사용하는 네임서버입니다.

일반 서버호스팅은 IDC에서 제공하는 네임서버 성능이 좋지 않아서 오히려 더 느려지는 경우가 있으므로

구글에서 제공하는 네임서버로 셋팅해 줍니다.

 

 

 

8. 테스트해 보기

 

SSL Server Test 사이트에서 님의 도메인을 입력해 보세요.

이것저것 테스트한 후에 점수를 알려 줍니다.

 

A등급이 나오면 SSL이 완벽하게 설치된 것입니다. 단, 오래된 브라우저와의 호환성이 떨어질 수 있습니다.

 

B등급이 나오면 상당히 잘 설치된 것이고, 대부분의 브라우저와 호환됩니다.

 

C등급 이하는 수업 끝나고 남으세요 ^^

 

 

기진곰

profile
GitHub @kijin 사람을 위한 인터넷 생태계의 발전에 많은 관심을 갖고 있습니다.
우리가 만들어 가는 XE의 새 이름, 라이믹스(Rhymix) 프로젝트에 참여하고 있습니다.
오픈소스 도로명주소 검색서버 및 API Postcodify를 개발, 운영중입니다.
국내외 서버 및 클라우드서버 세팅, 이전, 튜닝해 드립니다.
  • ?
    원원츄!! 호스팅 유저라 울기만 하지만... (인증서 별도로 갖다줘도 돈받던가? 안해주던가 기억에 그랬어요...닷홈...)
  • profile
    후덜덜;; 처음으로 추천 넣었네요.
    ssl 조만간 사용해야하는데 이동하거나 하면서 틈틈히 이 글로 공부해야곘습니다.

    고맙습니다. ^_^
  • ?
    추천!
  • profile
    xe공홈에서도 봤는데 역시 추천 드립니다.
  • profile
    7-1 아파치 2.4 에서 설정 문의 드립니다. 에러가 나서요..

    Output of config test was:
    AH00526: Syntax error on line 19 of /etc/apache2/sites-enabled/default-ssl.conf:
    SSLStaplingCache cannot occur within <VirtualHost> section
    Action 'configtest' failed.


    이렇게 나오는데요. 저는 ssl설정 파일 안에 넣었습니다.
  • profile profile
    SLStaplingCache 줄만 따로 <VirtualHost> 밖으로 빼내어 보세요.
  • profile profile
    감사합니다. 에러없이 아파치 재시작이 잘 되었습니다. 그런데 이거 적용이 잘되는지 확인은 따로 못하는거죠?
  • profile profile
    제대로 적용되면 SSL Labs 테스트에서 OCSP Stapling: Yes 라고 나옵니다.
  • profile profile
    아.. 감사합니다.
    A+ 에 보너스까지 했네요 ㅋ

    OCSP stapling Yes
  • profile
    좋은일 감사합니다
  • profile
    그대로따라하니 A+!
  • profile

    좋은글 감사합니다.

    저같은경우 7-1 적용을 하려고하니

     

    erer.gif

     

    이렇게 에러가 납니다.

    등급은 C네요 ㅎㅎ

  • profile profile
    아파치 버전이나 관련모듈 설치 여부에 따라 지원하지 않는 경우도 있습니다.
  • profile profile
    아아 답변 감사합니다 혹시 설치하신 관련모듈에 대해서 알 수 있을런지요.
    매번 감사드립니다. ~
  • profile profile
    아파치 버전이 뭔가요? httpd -V 명령을 실행해 보세요.
  • profile profile
    [root@localhost ssl]# httpd -V
    Server version: Apache/2.2.15 (Unix)
    Server built: Dec 15 2015 15:50:14
    Server's Module Magic Number: 20051115:25
    Server loaded: APR 1.3.9, APR-Util 1.3.9
    Compiled using: APR 1.3.9, APR-Util 1.3.9
    Architecture: 64-bit
    Server MPM: Prefork
    threaded: no
    forked: yes (variable process count)
    Server compiled with....
    -D APACHE_MPM_DIR="server/mpm/prefork"
    -D APR_HAS_SENDFILE
    -D APR_HAS_MMAP
    -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
    -D APR_USE_SYSVSEM_SERIALIZE
    -D APR_USE_PTHREAD_SERIALIZE
    -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
    -D APR_HAS_OTHER_CHILD
    -D AP_HAVE_RELIABLE_PIPED_LOGS
    -D DYNAMIC_MODULE_LIMIT=128
    -D HTTPD_ROOT="/etc/httpd"
    -D SUEXEC_BIN="/usr/sbin/suexec"
    -D DEFAULT_PIDLOG="run/httpd.pid"
    -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
    -D DEFAULT_LOCKFILE="logs/accept.lock"
    -D DEFAULT_ERRORLOG="logs/error_log"
    -D AP_TYPES_CONFIG_FILE="conf/mime.types"
    -D SERVER_CONFIG_FILE="conf/httpd.conf"

    Apache/2.2.15 입니다.
  • profile profile
    아파치 2.2 버전대에서는 안됩니다. 7-1번 단계에 아파치 2.4 이상에서만 된다고 해두었거든요.
  • profile profile
    아아 그러네요. 번거롭게 해드려 죄송합니다. ~
  • ?
    5-1번에서 막히네요 ㅜㅜ
  • ? profile
    뭐가 어떻게 안되나요? (에러로그 확인 요망)
  • profile ?
    그.. 6-1번의 내용들을 어디에 넣는건가요? CentOS 사용중이에요 아파치쓰고있구요
  • ? profile
    5-1인가요 6-1인가요?

    둘다 <VirtualHost> 안에 들어갑니다.
  • ?
    Stopping httpd: [ OK ]
    Starting httpd: Syntax error on line 1013 of /etc/httpd/conf/httpd.conf:
    SSLCertificateKeyFile: file '/bestaid.kr.key' does not exist or is empty
    [FAILED]
    [root@sky1js1004 conf]# service httpd restart
    Stopping httpd: [FAILED]
    Starting httpd: Syntax error on line 1013 of /etc/httpd/conf/httpd.conf:
    SSLCertificateKeyFile: file '/bestaid.kr.key' does not exist or is empty
    [FAILED]


    이렇게 뜨네요? ;;
  • ?
    아 경로가 문제였네요.. 그런데 경로를 제대로 하고나니 아래와같은 오류가;


    Stopping httpd: [ OK ]
    Starting httpd: Syntax error on line 1013 of /etc/httpd/conf/httpd.conf:
    SSLCertificateKeyFile: file '/bestaid.kr.key' does not exist or is empty
    [FAILED]
    [root@sky1js1004 conf]# service httpd restart
    Stopping httpd: [FAILED]
    Starting httpd: Syntax error on line 1013 of /etc/httpd/conf/httpd.conf:
    SSLCertificateKeyFile: file '/bestaid.kr.key' does not exist or is empty
    [FAILED]
  • ?
    startssl로 했는데.. 파일이 세개라 하시는데 압축풀어보니 두개라서 그런걸까요??
  • profile
    Letsencrypt로 A+ !! ^오^
  • ?
    2번에서 Common Name은 반드시 님의 도메인을 정확하게 입력해야 합니다. (예: www.example.com)이라고 하셨는데 example.com이라고 입력하면 어떻게 되나요>?
  • ? profile
    대개 www.example.com과 example.com은 양쪽 모두 호환되도록 발급해 주므로 크게 신경쓰지 않아도 됩니다. 그 밖의 서브도메인을 사용할 경우에는 좀더 주의가 필요하고요.
  • ?
    저는 A점수로 나오네요. A+을 원했는데 쩝...ㅎㅎ
  • ? profile
    A+ 받으려면 사이트 전체를 Full SSL로 하고, HSTS를 적용해서 나중에 운영자가 원해도 절대 http로 돌아갈 수 없도록 강제해 버려야 합니다.
  • profile ?

    starssl에서 받은 인증서를 서버에 인증서를 어제 적용하고
    오늘 확인하니 C등급에서 A등급으로 올렸어요.
    기진곰님이 남겨주신 6-1 / 7-1 을 적용해야 A합격점이 나오는걸 이제야 알았습니다 ㅎㅎ

    A+점수는 HSTS를 적용하지 않아서 그런가봐요

    테스트페이지에서 찾아보니 아래처럼 나오네요


    절대!!! 절대!! 돌아갈수 없다는 말에 A점수로 만족하렵니다.ㅎㅎ

    예전에 HSTS 적용을 했다가 다시 ssl을 빼야하는 상황이 온적이 있었는데,

    혹시나 그런 경우가 생길까봐 겁이 납니다 ㅎ

     

    ----

     

    예전에  HSTS를 적용했던 사이트가 있는데 no라는 단어나 나오는걸로 봐서

    도메인과 상관없이 인증서가 변경되면 HSTS가 적용되지 않는걸까요?

     

    그렇다면 다행이라는 생각이 들어서요 ㅎㅎ


    Strict Transport Security (HSTS) No
    HSTS Preloading Not in: Chrome Edge Firefox IE Tor

  • ? profile
    보통 HSTS를 적용하면 6개월~1년 정도 지속됩니다. 그 기간이 지나면 풀려요.
  • profile ?
    아~! 한번 적용하면 영원히 적용되는게 아닌거군요
    기간이 정해져있다니 다행이네요 ㅎㅎ
  • ? profile

    정확히 말하면 마지막으로 HSTS 헤더를 사용한 지 6개월~1년입니다. 기간은 헤더 값에 달려 있고요. 헤더를 계속 쓰는 한 영원히 계속 적용되고, 헤더 사용을 중단한 후에도 한참 기다려야 하는 거죠.

  • profile
    저희는아파치에서 모든것다 적용한 상태인데요. 최근 네이버블로그에서 사이트url을 해석하지못하는 것을 확인했는데요. dhe 와 연관이 있다는 이야기도 있습니다. 기진곰님 홈페이지도 마찬가지로 안되더라구요. 혹시 어디를 고쳐야할지 여줘도 될까요?
  • profile profile
    아파치라면 DH Param 설정을 따로 할 수 없으니
    - 6번에서 SSLv3를 허용해 보거나
    - 7번에서 SSL stapling을 제거해 보거나
    - 6번의 빨간 글씨 마지막 줄 링크를 참고하여 알고리듬 목록을 바꿔보세요.

    이것저것 다 하지 말고 한두 가지씩만 해보시면
    정확한 원인을 찾을 수 있겠습니다.
    네이버 로봇이 원래 gzip 관련 문제도 많고... 호환성이 별로예요 ㅡ.ㅡ
  • profile profile
    네. 네이버 블로그에 저희 게시글을 소개하려다 실패하는 경우가 있을 거 같아 신경이 쓰이긴 하네요. 네이버가 고쳐야할 내용인것은 알지만 국내현실이...
  • profile profile

    혹시 원인이 다른 곳에 있을지도 모르겠네요.
    지금 테스트 하느라 혹시나 해서
    http주소로 입력하니 링크 해석을 합니다.
    저희 사이트는 HTST 도 되어 있고 http => https 리디렉트도 설정 되어 있습니다.

    이런대도 http로 접근해서 해석을 하나봅니다.

     

    어찌 되었던 https에서 해석을 못하니 ssl 관련인건 맞는 듯 하네요.  http로 링크를 해석하긴 해도 이미지는 또 못불러오고...

  • profile profile
    SSLProtocol 전체를 빼면 괜찮은거 보니 일부를 제외해야 할 것 같은데 어떤 것을 빼야할지 명확하지 않아 계속 시도해봐야겠네요.
  • profile profile
    검색을 통해 DHE 관련이 문제인 듯해서

    DHE- 로 시작하는 것들을 모두 제거했습니다. 이렇게 하니 링크해석과 이미지 모두 다 잘 해석하네요. 일단 이렇게 운영하는게 국내 웹환경에서는 어쩔 수 없는 선택일 듯 합니다.
  • ?

    SSLUseStapling on

    SSLStaplingResponderTimeout 5

    SSLStaplingReturnResponderErrors off

     <VirtualHost>

     SSLStaplingCache shmcb:/var/run/ocsp(128000)

  • ? profile
    네, 맞습니다. SSL로 시작하는 다른 설정들과 같은 부분에 넣으시면 됩니다.
    SSLUseStapling에서 S가 하나 빠졌네요.