我可以使用vanilla Nginx作为响应体来回显请求标头值吗?

时间:2011-12-14 09:04:18

标签: nginx

是否可以配置Nginx以返回从请求标头或请求参数创建的响应主体?看起来这可以通过echo模块来完成,但如果可能的话,我想通过安装Nginx来实现。

基本上我想做以下事情,但显然return_body不存在,那么我可以使用什么呢?

location ~* ^/echo/(.+) {
  return_body $1;
}

location /echo_user_agent {
  return_body $http_user_agent;
}

如果我安装echo模块,我可以用return_body替换echo,但如果可能的话,能够在不安装任何附加功能的情况下做到这一点会很好,在我看来,像这样简单的东西应该可以不用。

3 个答案:

答案 0 :(得分:12)

您可以使用return 200:

执行此操作
location = /echo_user_agent {
  return 200 $http_user_agent;
}

答案 1 :(得分:1)

使用ngx_lua module

像这样:

body_filter_by_lua 'ngx.log(ngx.CRIT,ngx.arg[1])';

在正确的位置。

答案 2 :(得分:0)

试试这个  add_header Path_Way1; e.g。

add_header Path_Way1 $1;

其中$ 1是第一个路径参数