如何无条件地使用带有nginx的gif和200进行响应

时间:2011-07-13 18:31:18

标签: nginx

我的配置看起来像这样。

location / {
  empty_gif;
}

这适用于GET。无论他给出什么位置或参数,客户端都会收到200响应和空gif。如果客户端发送了POST,则响应为405并且没有gif。

empty_gif模块似乎不接受任何有用的参数,或者至少它没有记录。任何有关良好方式的建议都会获得预期的行为(使用任何请求以200和gif进行响应)?

修改

为了解决这个问题,我改变了我的要求。我总是返回200,但只返回带有GET的gif。尽管如此,这并不是那么简单。 empty_gif内不允许if

location / {
  empty_gif;
  if ($request_method != GET) {
    return 200;
  }
}

1 个答案:

答案 0 :(得分:3)

来自ngx_http_empty_gif_module.c的nginx来源:

 if (!(r->method & (NGX_HTTP_GET|NGX_HTTP_HEAD))) {
    return NGX_HTTP_NOT_ALLOWED;
 }

所以它不会起作用。如果你愿意,你可以删除这条线并重新翻转以避免这种情况并得到你想要的。没有别的办法了。