【问题标题】:How would one recreate Cloudflare's always online feature using nginx?如何使用 nginx 重新创建 Cloudflare 的始终在线功能?
【发布时间】:2013-12-06 19:24:51
【问题描述】:

Cloudflare 使用 nginx。

他们有这个称为永远在线的功能:http://www.cloudflare.com/always-online

正如他们的网站所述: Always Online 是一项功能,可缓存页面的静态版本,以防服务器脱机。

我想在地球的另一端设置一个缓存 nginx 服务器,让它缓存我网站的静态文件并将我的辅助 dns 指向它。如果我的网站服务器出现故障,将显示缓存版本。

使用 nginx 反向代理功能可以做到这一点吗?

或者,我也可以在 nginx 服务器中保存所有静态文件的副本,包括 .html 文件,并让它在主服务器离线时加载这些文件。

nginx 可以这样做吗?

【问题讨论】:

    标签: caching nginx memcached


    【解决方案1】:

    在 Nginx 中可以设置缓存。文档甚至提供了an example of a Nginx reverse proxy with caching:

    http {
        proxy_cache_path  /data/nginx/cache  levels=1:2    keys_zone=STATIC:10m
        inactive=24h  max_size=1g;
        server {
            location / {
                proxy_pass             http://1.2.3.4;
                proxy_set_header       Host $host;
                proxy_cache            STATIC;
                proxy_cache_valid      200  1d;
                proxy_cache_use_stale  error timeout invalid_header updating
                                       http_500 http_502 http_503 http_504;
            }
        }
    }
    

    请注意示例中的proxy_cache_use_stale 参数,如果发生一系列错误(包括超时、500、502、503、504),则会提供旧的缓存项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-12
      • 1970-01-01
      • 2012-01-14
      • 1970-01-01
      • 2020-02-19
      • 1970-01-01
      • 2015-12-13
      • 2021-10-10
      相关资源
      最近更新 更多