server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate www.example.com.chained.crt;
ssl_certificate_key www.example.com.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_session_tickets on;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/nginx/trusted.crt;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
}
server {
listen 80;
server_name www.example.com example.com;
return 301 https://$host$request_uri;
}
完整配置说明:
listen 443 ssl http2:监听 443 端口,启用 SSL 和 HTTP/2ssl_certificate:SSL 证书文件ssl_certificate_key:SSL 私钥文件ssl_session_cache:SSL 会话缓存ssl_session_timeout:SSL 会话超时ssl_session_tickets:SSL 会话票据ssl_stapling:OCSP Staplingssl_stapling_verify:OCSP Stapling 验证ssl_trusted_certificate:信任的证书resolver:DNS 解析器resolver_timeout:DNS 解析超时完整配置原理:
listen 443 ssl http2 指令用于监听 443 端口,启用 SSL 和 HTTP/2。ssl_certificate 指令用于指定 SSL 证书文件,ssl_certificate_key 指令用于指定 SSL 私钥文件。ssl_session_cache 指令用于设置 SSL 会话缓存,ssl_session_timeout 指令用于设置 SSL 会话超时。ssl_session_tickets 指令用于启用 SSL 会话票据。ssl_stapling 指令用于启用 OCSP Stapling。ssl_stapling_verify 指令用于启用 OCSP Stapling 验证。ssl_trusted_certificate 指令用于设置受信任的证书文件。resolver 指令用于设置 DNS 解析器,resolver_timeout 指令用于设置 DNS 解析超时。
| 指令 | 说明 | 示例 |
|---|---|---|
listen 443 ssl http2 | 监听 443 端口,启用 SSL 和 HTTP/2 | listen 443 ssl http2 |
ssl_certificate | SSL 证书文件 | ssl_certificate www.example.com.chained.crt |
ssl_certificate_key | SSL 私钥文件 | ssl_certificate_key www.example.com.key |
ssl_session_cache | SSL 会话缓存 | ssl_session_cache shared:SSL:10m |
ssl_session_timeout | SSL 会话超时 | ssl_session_timeout 10m |
ssl_session_tickets | SSL 会话票据 | ssl_session_tickets on |
ssl_stapling | OCSP Stapling | ssl_stapling on |
ssl_stapling_verify | OCSP Stapling 验证 | ssl_stapling_verify on |
ssl_trusted_certificate | 信任的证书 | ssl_trusted_certificate /etc/nginx/trusted.crt |
resolver | DNS 解析器 | resolver 8.8.8.8 8.8.4.4 valid=300s |
resolver_timeout | DNS 解析超时 | resolver_timeout 5s |
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate www.example.com.chained.crt;
ssl_certificate_key www.example.com.key;
http2_push_preload on;
}
HTTP/2 配置说明:
listen 443 ssl http2:监听 443 端口,启用 SSL 和 HTTP/2http2_push_preload on:启用 HTTP/2 服务器推送HTTP/2 配置原理:
listen 443 ssl http2 指令用于监听 443 端口,启用 SSL 和 HTTP/2。http2_push_preload 指令用于启用 HTTP/2 服务器推送。