温馨提示×

Nginx SSL如何配置缓存

小樊
42
2025-11-19 18:23:44
栏目: 云计算

在Nginx中配置SSL缓存可以提高网站的性能和安全性。以下是一个基本的步骤指南,帮助你在Nginx中配置SSL缓存:

1. 安装Nginx和SSL证书

首先,确保你已经安装了Nginx并且已经配置了SSL证书。如果你还没有安装Nginx和SSL证书,可以参考以下步骤:

安装Nginx

sudo apt update
sudo apt install nginx

获取SSL证书

你可以使用Let’s Encrypt来获取免费的SSL证书:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com

2. 配置Nginx缓存

编辑Nginx配置文件,通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/yourdomain.com

创建缓存目录

首先,创建一个用于存储缓存的目录:

sudo mkdir -p /var/cache/nginx/client_temp

配置缓存参数

在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 {
        listen 443 ssl;
        server_name yourdomain.com;

        ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
        include /etc/letsencrypt/options-ssl-nginx.conf;
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

        location / {
            proxy_pass http://backend_server;
            proxy_cache my_cache;
            proxy_cache_valid 200 302 10m;
            proxy_cache_valid 404 1m;
            add_header X-Proxy-Cache $upstream_cache_status;
        }

        location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
            expires 30d;
            add_header Cache-Control "public, no-transform";
        }
    }
}

3. 解释配置

  • proxy_cache_path: 定义缓存路径和参数。

    • levels=1:2: 缓存目录的层级结构。
    • keys_zone=my_cache:10m: 缓存区域的名称和大小。
    • max_size=1g: 缓存的最大大小。
    • inactive=60m: 缓存项在未被访问后保持的时间。
    • use_temp_path=off: 不使用临时路径。
  • proxy_cache: 指定使用的缓存区域。

  • proxy_cache_valid: 定义不同HTTP状态码的缓存时间。

  • add_header X-Proxy-Cache $upstream_cache_status: 添加一个HTTP头,显示缓存状态。

4. 重启Nginx

保存配置文件并重启Nginx以应用更改:

sudo systemctl restart nginx

5. 验证缓存

你可以通过访问你的网站并检查响应头来验证缓存是否生效。例如,使用curl命令:

curl -I https://yourdomain.com

你应该能看到X-Proxy-Cache头,显示缓存状态(如HITMISSBYPASS等)。

通过以上步骤,你就可以在Nginx中配置SSL缓存了。根据你的具体需求,你可以进一步调整缓存参数和配置。

0