Nginx:根据引用主机名有选择地启用压缩

wayfarer 阅读:21 2024-10-24 08:47:37 评论:0

为了减轻 BREACH 攻击,我想仅在 $http_referer 时才选择性地启用 gzip。的主机名与我的服务器名称之一匹配。

我该怎么做?我尝试使用 valid_referers server_names; ,但似乎 nginx 不允许 gzip on在 if 语句中。当我将其包含在我的 conf 中时:

valid_referers server_names; 
 
if ($invalid_referer = "") { 
    gzip on; 
    gzip_vary on; 
} 

我收到 [emerg] "gzip" directive is not allowed here .必须是一种有选择地启用 gzip 的方法。

请您参考如下方法:

nginx documentation指定 gzip在以下上下文中允许选项

Context: http, server, location, if in location



这意味着您需要包装 gziplocation 内切换堵塞。
gzip  off; 
 
server { 
  listen 80;  
  server_name localhost; 
  valid_referers server_names; 
 
  location / {  
    root /var/www/; 
    index index.html index.htm; 
 
    if ($invalid_referer = "") { 
       gzip on;  
    } 
  } 
} 


标签:nginx
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号