加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何优化此nginx代理缓存配置?

发布时间:2020-12-14 00:05:14 所属栏目:Linux 来源:网络整理
导读:我想在Nginx反向代理中缓存所有* .html文件,所以我添加了配置: # Original configurationlocation = / { proxy_pass http://192.168.12.12:91; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $
我想在Nginx反向代理中缓存所有* .html文件,所以我添加了配置:

# Original configuration
location = / {
    proxy_pass   http://192.168.12.12:91;
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
}

# Added for cache
location ~ .html {
    proxy_pass   http://192.168.12.12:91;
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_cache cache_one;
    proxy_cache_key $host$uri$is_args$args;
    proxy_cache_valid 200 301 302 1m;
    proxy_cache_valid any 1m;
    expires     1m;
}

重复两次proxy_pass和proxy_set_header感觉不好

我该如何优化呢?谢谢!

解决方法

嵌套位置是使用正则表达式创建位置的正确方法,它应该可以实现您想要实现的目标.

location / {
    proxy_pass          http://192.168.12.12:91;
    proxy_set_header    Host $host;
    proxy_set_header    X-Real-IP $remote_addr;
    proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;

    location ~* .html${
        proxy_cache          cache_one;
        proxy_cache_key      $host$uri$is_args$args;
        proxy_cache_valid    any 1m;
        expires              1m;
    }
}

我不完全确定嵌套位置是否真的使用外部位置块中的选项.如果没有(我现在无法测试),您可以创建单独的文件.

location / {
    include proxy.conf;

    location ~* .html${
        include              proxy.conf;
        proxy_cache          cache_one;
        proxy_cache_key      $host$uri$is_args$args;
        proxy_cache_valid    any 1m;
        expires              1m;
    }
}

proxy.conf

proxy_pass          http://192.168.12.12:91;
    proxy_set_header    Host $host;
    proxy_set_header    X-Real-IP $remote_addr;
    proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;

这肯定会起作用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读