Caching 让nginx仅根据文件名缓存文件(而不是完整路径)

Caching 让nginx仅根据文件名缓存文件(而不是完整路径),caching,nginx,Caching,Nginx,这个问题只是关于nginx的缓存,而不是缓存头和浏览器缓存 我正在运行一个应用程序,它显示表单URL上项目的详细信息 http://my-server/details/<id>/ 是的,您可以定义用于缓存的键。以下是一个例子: server { listen 80; server_name my-server.tld; location / { # root, doesn't matter } location /deta

这个问题只是关于nginx的缓存,而不是缓存头和浏览器缓存

我正在运行一个应用程序,它显示表单URL上项目的详细信息

http://my-server/details/<id>/

是的,您可以定义用于缓存的键。以下是一个例子:

server {
    listen 80;
    server_name my-server.tld;

    location / {
        # root, doesn't matter
    }

    location /details {
        # request to non-asset, cache as usual
    }
    location ~ ^/details/[a-z0-9]+/(?<cache_filename>[a-z0-9]+\.(js|css))$ {
        proxy_cache_key "/details/$cache_filename";            

        # Other configurations
        # <...>
    }
}
服务器{
听80;
服务器名称my-server.tld;
地点/{
#根,没关系
}
地点/详情{
#请求非资产,按常规缓存
}
位置^/details/[a-z0-9]+/(?[a-z0-9]+\(js| css))${
代理缓存密钥“/details/$cache\u filename”;
#其他配置
# 
}
}

您的意思是“应用程序非常慢”?HTML请求很慢,还是css请求也很慢?如果css请求缓慢-为什么?它是由动态应用程序生成的,还是由静态文件生成的?@Terra该应用程序运行在尺寸不足的虚拟机和遗留应用程序服务器上(我可能不会改变这一点)。每个请求都很慢(延迟和传输速度),甚至像css这样的静态资源也是如此。
server {
    listen 80;
    server_name my-server.tld;

    location / {
        # root, doesn't matter
    }

    location /details {
        # request to non-asset, cache as usual
    }
    location ~ ^/details/[a-z0-9]+/(?<cache_filename>[a-z0-9]+\.(js|css))$ {
        proxy_cache_key "/details/$cache_filename";            

        # Other configurations
        # <...>
    }
}