xss_output_type

指令 `xss_output_type` 指定了 NGINX 中 JSONP 响应的 MIME 类型。

语法xss_output_type type [type...];
默认值none
上下文http, server, location, if in location
参数1+

说明

NGINX 的 Native XSS 模块中的 xss_output_type 指令用于设置在启用 JSONP (JSON with Padding) 时响应输出的 MIME 类型。该指令允许开发者定义在向跨域请求返回 JavaScript 响应时所使用的内容类型。当客户端发出启用 xss_get 指令的跨域 GET 请求时,响应中将应用由 xss_output_type 指定的输出类型,使客户端 JavaScript 能正确解释该响应。

用户可以为此指令指定一个或多个 MIME 类型作为参数,这使得 NGINX 可以根据请求上下文提供不同类型的响应。application/x-javascript 类型是常见的默认值,但开发者也可以选择像 application/json 或自定义类型以满足需要。这种灵活性有助于更好地处理各种需要进行内容检测的跨域 AJAX 场景。

重要的是要确保所指定的 MIME 类型与所提供的内容相符,以避免客户端执行问题。错误的 MIME 类型可能导致浏览器无法正确执行脚本,从而使依赖 JSONP 进行跨域请求的 Web 应用功能失败。

配置示例

server {
    location /foo {
        xss_get on;
        xss_output_type 'application/x-javascript';
        # other configurations...
    }
}

确保指定的 MIME 类型与所提供的内容相匹配,以防止客户端对内容的错误处理。

使用多个 MIME 类型时需要仔细考虑响应处理逻辑,以避免冲突。

如果打算对 JSONP 响应使用 xss_output_type,请始终将 xss_get 指令设置为 on.

← 返回所有指令