我的编程空间,编程开发者的网络收藏夹
学习永远不晚

●VCL 中文man page(3)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

●VCL 中文man page(3)

         EXAMPLES(例子)

                  下面这段代码和默认的配置相同,后端服务器主机名设置为“backend.exampl.com
                   backend default {

                    .host = "backend.example.com";

                    .port = "http";

                   }

 
                   sub vcl_recv {

                     if (req.http.x-forwarded-for) {

                     set req.http.X-Forwarded-For = req.http.X-Forwarded-For ", " client.ip;

                   } else {

                     set req.http.X-Forwarded-For = client.ip;

                   }

 
                   if (req.request != "GET" &&

                   req.request != "HEAD" &&

                   req.request != "PUT" &&

                   req.request != "POST" &&

                   req.request != "TRACE" &&

                   req.request != "OPTIONS" &&

                   req.request != "DELETE") {

                     // Non-RFC2616 or CONNECT which is weird.

                     return (pipe);

                     }

                   if (req.request != "GET" && req.request != "HEAD") {

                   // We only deal with GET and HEAD by default

                     return (pass);

                     }

                   if (req.http.Authorization || req.http.Cookie) {

                     // Not cacheable by default

                     return (pass);

                     }

                   return (lookup);

                   }

 
                   sub vcl_pipe {

                     # Note that only the first request to the backend will have

                     # X-Forwarded-For set.  If you use X-Forwarded-For and want to

                     # have it set for all requests, make sure to have:

                     # set req.http.connection = "close";

                     # here.  It is not set by default as it might break some broken web

                     # applications, like IIS with NTLM authentication.

                     return (pipe);

                   }

 
                   sub vcl_pass {

                     return (pass);

                   }

 
                   sub vcl_hash {

                     set req.hash += req.url;

                     if (req.http.host) {

                       set req.hash += req.http.host;

                     } else {

                       set req.hash += server.ip;

                     }

                     return (hash);

                   }

 
                   sub vcl_hit {

                     if (!obj.cacheable) {

                     return (pass);

                     }

                   return (deliver);

                   }

 
                   sub vcl_miss {

                     return (fetch);

                   }

 
                   sub vcl_fetch {

                   if (!beresp.cacheable) {

                     return (pass);

                   }

                   if (beresp.http.Set-Cookie) {

                     return (pass);

                     }

                   return (deliver);

                   }

 
                   sub vcl_deliver {

                     return (deliver);

                   }

 
                   sub vcl_error {

                   set obj.http.Content-Type = "text/html; charset=utf-8";

                   synthetic {"

                   <?xml version="1.0" encoding="utf-8"?>

                   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

                   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

                   <html>

                   <head>

                   <title>"} obj.status " " obj.response {"</title>

                   </head>

                   <body>

                   <h1>Error "} obj.status " " obj.response {"</h1>

                   <p>"} obj.response {"</p>

                   <h3>Guru Meditation:</h3>

                   <p>XID: "} req.xid {"</p>

                   <hr>

                   Varnish cache server

                   </body>

                   </html>

                   "};

                   return (deliver);

                   }

         下面的例子显示一个varnishd实例支持多个独立的站点,基于请求的URL选择使用的后端服务器:
                   backend www {

                     .host = "www.example.com";

                     .port = "80";

                   }

 
                   backend p_w_picpaths {

                     .host = "p_w_picpaths.example.com";

                     .port = "80";

                   }

 
                   sub vcl_recv {

                     if (req.http.host ~ "^(www.)?example.com$") {

                       set req.http.host = "www.example.com";

                       set req.backend = www;

                     } elsif (req.http.host ~ "^p_w_picpaths.example.com$") {

                       set req.backend = p_w_picpaths;

                     } else {

                       error 404 "Unknown virtual host";

                     }

                   }

 
                   The following snippet demonstrates how to force a minimum TTL for

                   all documents.  Note that this is not the same as setting the

                   default_ttl run-time parameter, as that only affects document for

                   which the backend did not specify a TTL:::

 
                   sub vcl_fetch {

                     if (obj.ttl < 120s) {

                     set obj.ttl = 120s;

                     }

                   }

         下面这段代码用来强制缓存带cookies的内容:
                   sub vcl_recv {

                     if (req.request == "GET" && req.http.cookie) {

                     call(lookup);

                     }

                   }

 
                   sub vcl_fetch {

                     if (beresp.http.Set-Cookie) {

                     deliver;

                    }

                   }

         下面代码的作用是利用squidHTTP PURGE模式清理无法使用的目标。
                   acl purge {

                     "localhost";

                     "192.0.2.1"/24;

                   }

 
                   sub vcl_recv {

                     if (req.request == "PURGE") {

                     if (!client.ip ~ purge) {

                       error 405 "Not allowed.";

                     }

                     lookup;

                     }

                   }

 
                   sub vcl_hit {

                     if (req.request == "PURGE") {

                       set obj.ttl = 0s;

                       error 200 "Purged.";

                     }

                   }

 
                   sub vcl_miss {

                     if (req.request == "PURGE") {

                     error 404 "Not in cache.";

                     }

                   }

         SEE  ALSO

                   Varnishd1
        
         HISTORY

                   The VCL language was developed by Poul-Henning Kamp in cooperation with Verdens       Gang AS, Linpro AS and Varnish Software. This manual page was written by Dag-Erling         Smørgrav and later edited by Poul-Henning Kamp and Per Buer.
        
         COPYRIGHT

         这个文档的版权和varnish自身的版本一样,请看LICENCE
                       * Copyright (c) 2006 Verdens Gang AS
                         * Copyright (c) 2006-2008 Linpro AS
                       * Copyright (c) 2008-2010 Redpill Linpro AS
                       * Copyright (c) 2010 Varnish Software AS

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

●VCL 中文man page(3)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

●VCL 中文man page(3)

EXAMPLES(例子)                  下面这段代码和默认的配置相同,后端服务器主机名设置为“backend.exampl.com”                   backend default {        
2023-01-31

linux如何打造man中文

这篇文章主要介绍“linux如何打造man中文”,在日常操作中,相信很多人在linux如何打造man中文问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux如何打造man中文”的疑惑有所帮助!接下来,请跟
2023-06-12

如何在Centos7.2中使用中文man

本篇文章为大家展示了如何在Centos7.2中使用中文man,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。首先修改系统配置文件/etc/locale.conf(低版本对应文件为 /etc/sysco
2023-06-10

Ubuntu/Linux如何打造中文版man

小编给大家分享一下Ubuntu/Linux如何打造中文版man,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一.如何安装中文的man包现在下载安装包:git cl
2023-06-16

在Linux系统中如何实现打造man中文

本篇内容介绍了“在Linux系统中如何实现打造man中文”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!步骤1.下载开源的man-pages
2023-06-13

如何在centos系统安装man中文手册manpages-zh

本篇内容介绍了“如何在centos系统安装man中文手册manpages-zh ”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先确保安装z
2023-06-10

Linux系统怎么安装和使用man中文帮助手册

本篇内容介绍了“Linux系统怎么安装和使用man中文帮助手册”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!刚学习linux有一份中文帮助手
2023-06-13

python 3 添加中文注释

一开始出现报错:Non-UTF-8 code starting with '\xb0'原来Python的默认编码格式是UTF-8,若指定编码格式则需在开头添加如下代码开头添加:# -- coding: gb2312 -- 即可。
2023-01-31

Sublime Text 3中文乱码问题

Sublime Text 3Sublime Text 3是我最喜欢的代码编辑器,没有之一,因为她的性感高亮代码配色,更因为它的小巧,但是它默认不支持GBK的编码格式,因此打开GBK的代码文件,如果里面有中文的话,就会乱码1     大家如果
2023-01-31

Nagios 3.x中文在线帮助

大家都知道监控利器nagios,但是作为新手,使用起来还是挺困难的,网上看到的关于nagios 3.x的中文帮助,新手朋友们参考一下吧:http://nagios-cn.sourceforge.net/nagios-cn/
2023-01-31

python中3种调用可执行文件.exe

方法一、os.system()  会保存可执行程序中的打印值和主函数的返回值,且会将执行过程中要打印的内容打印出来import os main = "project1.exe"r_v = os.system(main) print (r_
2023-01-31

Shell中删除某些文件外所有文件的3个方法

我的一位同事曾经问过我这样一个问题:在 Linux 下,如何 删除目录中除某些文件之外的所有文件?当时,我告诉他可 以通过模式匹配的方法解决。但其实,除此之外,还有其他 的方法,正所谓“条条大路通罗马”。让我们来逐一看看。 假设要删除 ~/
2022-06-04

Ubuntu14.4下Sublime Text 3无法输入中文的解决方法

这篇文章主要介绍“Ubuntu14.4下Sublime Text 3无法输入中文的解决方法”,在日常操作中,相信很多人在Ubuntu14.4下Sublime Text 3无法输入中文的解决方法问题上存在疑惑,小编查阅了各式资料,整理出简单好
2023-06-13

在Ubuntu上怎么安装Thunderbird 3并设置中文显示

这篇文章主要讲解了“在Ubuntu上怎么安装Thunderbird 3并设置中文显示”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在Ubuntu上怎么安装Thunderbird 3并设置中文
2023-06-16

使用bash shell删除目录中的特定文件的3种方法

我是一名Linux新用户。现在我需要清理一个下载目录中的文件,其实我就是想从~/Download/文件夹删去除了以下格式的文件外所以其它文件: 1.*.iso - 所有的iso格式的文件。 2.*.zip - 所有zip格式的文件。 我如何
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录