浏览 3.9k
NGINX中的某些指令正在使用ngx_http_compile_complex_value(&ccv)来编译变量,并使用ngx_http_complex_value()来在运行时获取指令参数的原始值。 同样,其他一些指令也使用ngx_http_script_compile(&sc)和ngx_http_script_run()实现相同的目标。
请问这两者之间的区别是什么?

按点赞数排序
按时间排序
自问自答了。看了一下代码,感觉ngx_http_compile_complex_value和ngx_http_script_compile是两套实现,前者对后者进行了封装,使用起来应该更方便。
比如,如果有一个指令需要支持复杂变量,使用ngx_http_compile_complex_value只需要定义一个ngx_http_complex_value_t变量就可以。但是使用ngx_http_script_compile需要定义flushes,lengths,variables一系列数组。。
1
回答于2021-04-01 21:32
浏览器在HTTP请求中携带时,表示希望代理服务器、负载均衡在使用自己的缓存时,先向上游服务直接验证,获得304响应码后再返回客户端。
ip白名单跟include指令内容没关系,include是把其他配置文件内容包含进来。通常nginx配置文件会有多个,nginx.conf之外配置文件通常分别定义不同虚拟服务器的配置
微信公众号
加入微信群