Nginx 의 OCSP stapling 설정

2657 단어
OCSP stapling 은 Https 최적화 방안 중 하나 로 클 라 이언 트 가 실시 간 으로 시작 해 야 하 는 OCSP 요청 을 서버 에 전가 합 니 다.
  • 온라인 인증서 상태 프로 토 콜 (Online Certificate Status Protocol) 은 OCSP 라 고 부 르 며, X. 509 디지털 인증서 의 취소 상 태 를 가 져 오 는 데 사용 되 는 인터넷 프로 토 콜 로 RFC 6960 에서 정의 된다.OCSP 는 인증서 의 합 법성 을 검증 하 는 데 사용 되 며, 조회 서 비 스 는 일반적으로 인증서 소속 CA 에서 제공 합 니 다.OCSP 조회 의 본질은 완전한 HTTP 요청 에 응답 하 는 과정 입 니 다. 이 중간 에 포 함 된 DNS 조회, TCP 연결, 웹 엔 드 작업 등 절 차 는 더 많은 시간 을 들 여 TLS 를 만 드 는 데 더 많은 시간 이 걸 립 니 다.
  • OCSP 에 프라이버시 와 성능 문제 가 존재 합 니 다.1. 브 라 우 저 는 제3자 CA (Certificate Authority, 디지털 인증서 인증 기구) 에 직접 요청 하면 사이트 의 방문 자 (CA 기 구 는 어떤 사용자 가 저희 사 이 트 를 방문 하 는 지 알 수 있 습 니 다) 를 노출 합 니 다.2. 브 라 우 저 에서 OCSP 조 회 를 하면 HTTPS 성능 이 떨 어 집 니 다 (저희 사 이 트 를 방문 하면 느 려 집 니 다) OCSP 실시 간 조 회 는 클 라 이언 트 의 성능 비용 을 증가 합 니 다.

  • 이후 OCSP Stapling 이 나 타 났 다.클 라 이언 트 가 실시 간 으로 시작 해 야 하 는 OCSP 요청 을 서버 에 전가 하고 웹 사 이 드 는 OCSP 조회 결 과 를 자발적으로 가 져 와 인증서 와 함께 클 라 이언 트 에 보 내 클 라 이언 트 가 자신 이 검증 을 찾 는 과정 을 뛰 어 넘 고 TLS 악수 효율 을 높 인 다.HTTPS 성능 을 향상 시 킬 수 있 습 니 다.
    온라인 검사
  • 이 방식 은 서버 가 인증서 검사 서버 에 주동 적 으로 접근 할 수 있 도록 지원 해 야 효력 이 발생 하 며, nginx 를 다시 시작 할 때마다 주동 적 으로 요청 합 니 다. 네트워크 가 통 하지 않 으 면 nginx 의 시작 이 느 릴 수 있 습 니 다.
  • server {
        listen 443 ssl;
        server_name  xx.xx.com;
        index index.html index.htm index.jsp;
    
        ssl_certificate         server.pem;#   .cer    
        ssl_certificate_key     server-key.pem;#   .key  
    
        #    OCSP Stapling ---        NginX            OCSP      ,
                      。
        ssl_stapling on;
        ssl_stapling_verify on;#   OCSP    ,OCSP         
        ssl_trusted_certificate /path/to/xxx.pem;#  ssl_certificate            ,  ssl_trusted_certificate    。
        resolver 8.8.8.8 8.8.4.4 216.146.35.35 216.146.36.36 valid=60s;#  resolver  OSCP         ,valid    。
        resolver_timeout 2s;# resolver_timeout        
    

    인공 갱신
    캐 시 업데이트 시간 을 더욱 제어 하기 위해 서 는 파일 내용 을 인공 적 으로 업데이트 할 수도 있 습 니 다.NginX 의 ssl_stapling_file 명령 을 이용 하여 OCSP 응답 을 파일 로 직접 저장 합 니 다. NginX 는 파일 에서 OCSP 응답 을 받 고 서비스 업 체 에서 끌 어 올 리 지 않 아 도 되 며 인증서 에 따라 실시 간 으로 조회 하지 않 습 니 다.
    server {
        listen 443 ssl;
        server_name  xx.xx.com;
        index index.html index.htm index.jsp;
    
        ssl_certificate         server.pem;#   .cer    
        ssl_certificate_key     server-key.pem;#   .key  
    
        #    OCSP Stapling ---        NginX            OCSP      ,
                      。
        ssl_stapling on;
        ssl_stapling_file /xxx/xxx/stapling_file.ocsp; 
        ssl_stapling_verify on;#   OCSP    ,OCSP         
        ssl_trusted_certificate /path/to/xxx.pem;#  ssl_certificate            ,  ssl_trusted_certificate    。
    

    참고 블 로그 - 설정 참고 블 로그 - https 최적화

    좋은 웹페이지 즐겨찾기