Nginx는 고성능 웹 서버이자 역방향 프록시 서버로서 애플리케이션 배포 및 로드 밸런싱에 널리 사용됩니다. 보안과 환경 보호에 대한 인식이 점차 향상되면서 HTTPS는 현대 웹 애플리케이션에서 없어서는 안 될 부분이 되었습니다. 이 기사에서는 Nginx의 HTTPS 배포 및 보안 성능 최적화에 중점을 둘 것입니다.
1. Nginx의 HTTPS 배포
먼저 SSL 인증서를 신청하려면 CA(인증 기관)에 가야 합니다. 신청이 성공적으로 완료되면 인증서 파일(.crt)과 개인 키 파일(.key)을 받게 됩니다.
Nginx의 HTTPS 구성에는 HTTPS로의 HTTP 전달, Nginx 인증서 구성 및 HTTPS 구성의 세 가지 측면이 포함되어야 합니다.
(1) HTTP를 HTTPS로 전달
Nginx 구성 파일에서 사용자가 HTTP 기본 포트 80에 액세스할 때 자동으로 HTTPS의 기본 포트 443으로 이동할 수 있도록 HTTP 구성 섹션을 추가해야 합니다.
server { listen 80; server_name example.com; return 301 https://$server_name$request_uri; }
(2) Nginx 인증서 구성
Nginx 구성 파일에 방금 적용한 SSL 인증서와 개인 키 파일을 구성 파일에 추가해야 합니다.
server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/cert.crt; ssl_certificate_key /path/to/cert.key; ... }
(3) HTTPS 구성
HTTP/2 프로토콜 활성화, SSLv3 비활성화 등과 같은 HTTPS 프로토콜의 특정 옵션을 구성해야 합니다.
http2_push_preload on; #启用HTTP/2协议的推送预加载 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #指定启用的TLS协议版本 ssl_ciphers EECDH+AESGCM:EDH+AESGCM:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM; #指定加密套件 ssl_prefer_server_ciphers on; #常用加密套件优先顺序为服务端指定的值 ssl_session_cache shared:SSL:10m; #指定SSL session缓存 ssl_session_timeout 10m; #指定SSL session超时时间
2. Nginx 보안 성능 최적화
HTTPS 서비스를 배포한 후에는 서비스의 안정성과 보안을 보장하기 위해 다음 보안 성능 최적화 문제에도 주의해야 합니다.
OCSP (온라인 인증서 상태 프로토콜)은 인증서가 해지되었는지 여부를 감지하는 데 사용됩니다. Nginx의 HTTPS 구성에서는 다음 절차를 통해 OCSP 응답 감지를 수행할 수 있습니다.
ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /path/to/fullchain.pem; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 10s;
핵심 사항은 다음과 같이 해석됩니다.
HSTS(HTTP 엄격한 전송 보안)는 사용자가 HTTP 페이지로 하이재킹되는 것을 방지하여 보안 수준을 높입니다. Nginx의 HTTPS 구성에서 다음과 같이 HSTS를 활성화할 수 있습니다.
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
핵심 사항은 다음과 같이 설명됩니다.
기본적으로 Nginx는 TLSv1 및 TLSv1.2만 활성화합니다. 다른 암호화 프로토콜을 활성화해야 하는 경우 다음과 같이 구성할 수 있습니다.
ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1 TLSv1;
핵심 사항은 다음과 같이 해석됩니다.
을 활성화합니다. HTTPS를 통해 전송되는 데이터에는 데이터를 암호화하기 위한 키가 필요합니다. HMAC(해시 기반 메시지 인증 코드)를 사용하면 데이터 전송 보안을 향상시킬 수 있습니다. Nginx 구성 파일에서 HMAC를 활성화하는 방법은 다음과 같습니다.
ssl_ciphers ... !aNULL !eNULL !EXPORT !CAMELLIA !DES !MD5 !PSK !RC4 !SEED +AES256 !kEDH +SHA256 +HMAC;
핵심 사항은 다음과 같이 해석됩니다.
결론
이 글에서는 Nginx HTTPS 배포 및 보안 성능 최적화에 대한 주요 지식 포인트를 소개합니다. 점점 더 복잡해지는 최신 웹 애플리케이션의 맥락에서 HTTPS의 보안 및 성능 요구 사항도 점점 더 높아지고 있습니다. 시스템 관리자로서 지식 보유량을 지속적으로 업데이트하고 새로운 기술과 새로운 환경에 대한 전문적인 비전을 유지하는 것이 중요합니다. 매우 필요하고 중요합니다.
위 내용은 Nginx의 HTTPS 배포 및 보안 성능 최적화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!