如何解决无法使用 nginx 缓存 rest api
我喜欢这个 nginx 配置:
upstream restapi {
include /etc/nginx/conf.d/restapi.txt;
}
proxy_cache_path /data/nginx/restapi levels=1:2 keys_zone=restapi:200m max_size=1g inactive=2h;
server {
root /var/www;
listen 443 ssl;
ssl_certificate /var/www/ssl/domain.crt;
ssl_certificate_key /var/www/ssl/private.key;
ssl_session_timeout 1d;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /var/www/ssl/CA.crt;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
add_header Strict-Transport-Security "max-age=63072000" always;
resolver 8.8.8.8;
server_name domain.net;
server_name dev.domain.net;
gzip on;
gzip_types text/plain application/xml text/css application/javascript;
gzip_min_length 1000;
autoindex off;
location /api/custom {
expires $expires;
real_ip_recursive on;
proxy_cache off;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $proxy_add_x_forwarded_for;
proxy_pass http://restapi$request_uri;
}
location /api/ {
expires $expires;
real_ip_recursive on;
proxy_buffering on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $proxy_add_x_forwarded_for;
proxy_cache restapi;
proxy_cache_key $scheme$request_method$host$request_uri;
proxy_cache_valid any 15m;
proxy_ignore_headers Set-Cookie;
proxy_pass http://restapi$request_uri;
}
include /etc/nginx/conf.d/redirects.txt;
}
当我每次打开我的网站时,我的其余 API 服务器 CPU % 负载为 10%-15%
如何使用 nginx 正确缓存我的 API 并检查缓存状态?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。