web服务器下载 web服务器是啥啊( 六 )

HTTP资源位置HTTPLoc是通过路径名path和匹配类型matchtype来作为其标识 , 路径名为配置中设置的名称 , 客户端请求的路径名通过匹配类型定义的匹配规则来跟设置的路径名进行匹配 , 如果符合匹配 , 则该请求使用此资源位置HTTPLoc 。
匹配规则matchtype一般定义在配置文件中path数组里的第二项 , 分为如下几种:

  • 精准匹配 , 使用等于号'='
  • 前缀匹配 , 使用'^~'这两个符号
  • 区分大小写的正则表达式匹配 , 使用'~'符号
  • 不区分大小写的正则表达式匹配 , 使用'~*'这两个符号
  • 通用匹配 , 使用'/'符号 , 如果没有其他匹配 , 任何请求都会匹配到
匹配的优先级顺序为: (location =) > (location 完整路径) > (location ^~ 路径) > (location ,* 正则顺序) > (location 部分起始路径) > (/)
eJet系统根据功能服务形式 , 对资源位置HTTPLoc定义了几种类型:Server、Proxy、FastCGI等 , 通常情况下 , 一个资源位置HTTPLoc只属于一种类型 。
HTTP资源位置HTTPLoc都需要一个缺省的根目录 , 指向当前资源所在的根路径 , 客户端请求的路径都是相对于当前HTTPLoc下的root跟目录来定位文件资源的 。对于Proxy模式 , 根目录一般充当缓存文件的根目录 , 即需要对Proxy代理请求回来的内容缓存时 , 都保存在当前HTTPLoc下的root目录中 。
每个HTTPLoc下都会有缺省文件选项 , 可以配置多个缺省文件 , 一般设置为index.html等 。使用缺省文件的情形是客户端发起的请求只有目录形式 , 如http://www.xxx.com/ , 这时该请求访问的是HTTPLoc的根目录 , eJet系统会自动地依次寻找当前根目录下的各个缺省文件是否存在 , 如果存在就返回缺省文件给客户端 。不过需要注意的是 , eJet系统中这个流程是在设置DocURI时处理的 。
HTTP资源位置如果是Proxy类型或FastCGI类型 , 则必须配置转发地址passurl , 转发地址passurl一般都为绝对URL地址 , 含有指向其他服务器的domain域名 , passurl的形式取决HTTPLoc资源类型 。
反向代理(Reverse Proxy)就是将HTTPLoc的资源类型设置为Proxy模式 , 通过设置passurl指向要代理的远程服务器URL地址 , 来实现反向代理功能 。在反向代理模式下 , passurl可以是含有匹配结果变量的URL地址 , 这个地址指向的是待转发的下一个Origin服务器 , 匹配变量如果为1、1、2等数字变量 , 即表示基于正则表达式匹配路径时 , 把第一个或第二个匹配字符串作为passurl的一部分 。当然passurl可以包含任何全局变量或配置变量 , 使用这些变量可以更灵活方便地处理转发数据 。
在反向代理模式下 , HTTPLoc资源位置下有一个cache开关 , 如果设置cache=on即打开Cache功能 , 则需要在当前HTTPLoc下设置cachefile缓存文件名 。对于不同的请求地址 , cachefile必须随着请求路径或参数的变化而变化 , 所以cachefile的取值设置需要采用HTTP变量 , 或者使用Script脚本来动态计算cachefile的取值 。
HTTPLoc下一般都会部署Script脚本程序 , 包括rewrite、reply、try_files等 , 根据请求路径、请求参数、请求头、源地址等信息 , 决定当前资源位置是否需要重写、是否需要转移到其他地址处理等 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: