testcookie_port_in_redirect

'testcookie_port_in_redirect' 指令指定在设置挑战 cookie 时重定向 URI 是否应包含端口号。

语法testcookie_port_in_redirect on | off;
默认值off
上下文http, server, location
参数1

说明

'testcookie_port_in_redirect' 指令是 NGINX testcookie robot mitigation module 的一项功能,旨在通过控制重定向 URI 的行为来增强基于 cookie 的验证机制。启用时,该指令会确保在挑战-响应流程中生成的任何 HTTP 重定向响应在 'Location' 头中包含端口号,这对监听非常规端口的服务尤为有用。对于在 HTTP 和 HTTPS 之间有区别或使用基于端口的特定路由配置的应用来说,这一点可能至关重要。包含端口号可以帮助避免在重定向到未明确带有服务端口的 URI 时客户端无法正确设置 cookie 的潜在问题。

该指令接受一个参数,通常为布尔值,用于指示是否在重定向中包含端口。如果设置为 'on',则包含端口;如果为 'off',则从重定向 URI 中省略端口。这种灵活性允许管理员根据具体的部署需求和基础设施配置来调整 cookie 设置行为,从而提高与各种客户端设置的兼容性,并减轻与重定向和 cookie 处理相关的常见问题。

配置示例

http {
    testcookie on;
    testcookie_port_in_redirect on;
    # other directives...
}

如果配置不当,启用此指令可能导致应用程序出现异常行为,因为它们不期望在 redirect URI 中包含 port。

请确保后端服务和代理能正确处理带有 port numbers 的 redirects,以避免客户端混淆。未经考虑客户端和服务器配置就调整此设置,可能导致 cookie parsing failures。

← 返回所有指令