下面是讲解“nginx配置返回文本或json的方法”的完整攻略。

方法一:返回文本

在nginx配置文件中,使用add_header指令来设置响应头部信息,如下所示:

location /text {
    add_header Content-Type text/plain;
    return 200 "Hello, World!";
}

上述配置中,location指明请求的URI为/textadd_header指令用于设置Content-Type响应头为字符类型,return指令返回200状态码和文本消息。

方法二:返回JSON

在nginx配置文件中,使用add_header指令来设置响应头部信息,同时使用rewrite_by_lua_block指令来处理请求,将处理结果转换为json格式的字符串,并添加到响应体中,示例如下:

location /json {
    add_header Content-Type application/json;
    default_type application/json;
    rewrite_by_lua_block {
        local res = { message = "Hello, World!" }
        ngx.say(require("cjson").encode(res))
    }
}

上述配置中,location指明请求的URI为/jsonadd_header指令用于设置Content-Type响应头为json类型,default_type指令用于设置默认Content-Type类型为json,rewrite_by_lua_block指令用于处理请求,将返回结果组装为json格式的字符串,并通过ngx.say指令返回转换后的响应体信息。