Cấu hình OCSP Stapling trên Apache & nginx
Khi triển khai SSL/TLS, ngoài việc cài chứng chỉ đúng chuẩn, một yếu tố quan trọng ảnh hưởng đến hiệu năng và độ tin cậy là OCSP stapling.
1) Bối cảnh
- OCSP (Online Certificate Status Protocol): giao thức để trình duyệt kiểm tra chứng chỉ SSL có bị thu hồi (revoked) hay không.
- Nếu không bật stapling:
- Trình duyệt phải kết nối trực tiếp đến CA để xác minh → làm chậm TLS handshake.
- Nếu CA OCSP server chậm hoặc unreachable → có thể khiến website load chậm hoặc bị cảnh báo.
- OCSP stapling: web server lấy OCSP response từ CA định kỳ và “đính kèm” (staple) vào TLS handshake → nhanh hơn, bảo mật hơn.
Kích hoạt OCSP stapling giúp website đạt Grade A+ trên SSL Labs và giảm độ trễ cho người dùng.
2) Cấu hình OCSP Stapling
Apache
Trong VirtualHost SSL (/etc/apache2/sites-enabled/default-ssl.conf):
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
# OCSP Stapling
SSLUseStapling On
SSLStaplingCache shmcb:/var/run/ocsp(128000)
</VirtualHost>
- SSLUseStapling On: bật stapling.
- SSLStaplingCache: cache OCSP response trong shared memory.
nginx
Trong server block HTTPS (/etc/nginx/sites-enabled/example.conf):
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# OCSP Stapling
ssl_stapling on;
ssl_stapling_verify on;
resolver 1.1.1.1 8.8.8.8 valid=300s;
resolver_timeout 5s;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
- ssl_stapling on: bật stapling.
- ssl_stapling_verify on: buộc nginx xác minh OCSP response.
- resolver: chỉ định DNS server để nginx truy vấn CA OCSP URL.
3) Best Practices 2025
- Cert chain đầy đủ: cần cung cấp cả intermediate cert trong fullchain.pem, nếu thiếu stapling sẽ fail.
- DNS Resolver tin cậy: dùng 1.1.1.1, 8.8.8.8, hoặc resolver nội bộ để nginx/Apache query OCSP endpoint nhanh.
- Monitoring: kiểm tra OCSP stapling bằng lệnh:
openssl s_client -connect example.com:443 -status
Nếu có phần OCSP Response Status: successful → stapling hoạt động.
- Cache tuning: set cache size đủ lớn (128KB+) cho Apache; với nginx dùng valid=300s.
- Fallback: đảm bảo web server vẫn hoạt động nếu OCSP server của CA down.
Kết luận
- Apache: bật bằng SSLUseStapling On và SSLStaplingCache.
- nginx: bật bằng ssl_stapling on; ssl_stapling_verify on; + resolver.
- OCSP stapling giúp:
- Giảm độ trễ TLS handshake.
- Tránh lỗi khi CA OCSP server chậm.
- Đáp ứng chuẩn bảo mật & đạt điểm cao trên SSL Labs.
Đây là bước bắt buộc khi triển khai SSL/TLS hiện đại cho mọi web server.


