在Debian上使用Nginx和SSL时,启用OCSP(Online Certificate Status Protocol)可以帮助验证SSL证书的状态。以下是启用OCSP的步骤:
首先,确保你已经安装了Nginx和OpenSSL。
sudo apt update
sudo apt install nginx openssl
你需要获取完整的证书链,包括中间证书。你可以从你的证书颁发机构(CA)获取这些文件。
假设你的证书文件是 your_domain.crt
,中间证书文件是 intermediate.crt
。
编辑你的Nginx配置文件,通常位于 /etc/nginx/sites-available/your_domain
。
sudo nano /etc/nginx/sites-available/your_domain
在 server
块中添加以下配置:
server {
listen 443 ssl;
server_name your_domain.com;
ssl_certificate /path/to/your_domain.crt;
ssl_certificate_key /path/to/your_domain.key;
ssl_trusted_certificate /path/to/intermediate.crt;
ssl_stapling on;
ssl_stapling_verify on;
location / {
root /var/www/html;
index index.html index.htm;
}
# 其他配置...
}
确保 ssl_stapling
和 ssl_stapling_verify
都设置为 on
。这将启用OCSP Stapling,Nginx会定期从CA获取OCSP响应并将其附加到TLS握手过程中。
保存并关闭配置文件后,重启Nginx以应用更改。
sudo systemctl restart nginx
你可以使用 openssl
命令来验证OCSP Stapling是否正常工作。
openssl s_client -connect your_domain.com:443 -tls1_2 -tlsextdebug
在输出中查找 OCSP response
部分,如果看到OCSP响应,说明OCSP Stapling已成功启用。
为了提高性能,你可以配置Nginx缓存OCSP响应。编辑Nginx配置文件,添加以下内容:
http {
# 其他配置...
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
server {
# 其他配置...
location /ocsp {
proxy_pass http://your_ca_ocsp_server;
proxy_cache my_cache;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
}
}
}
将 your_ca_ocsp_server
替换为你的CA的OCSP服务器地址。
再次重启Nginx以应用缓存配置。
sudo systemctl restart nginx
通过以上步骤,你应该能够在Debian上使用Nginx和SSL启用OCSP Stapling,并可选地配置OCSP响应缓存。