Nginx:安全且仅限httponly的cookie

blmhpbnm  于 2023-01-25  发布在  Nginx
关注(0)|答案(3)|浏览(934)

有什么想法如何在Nginx中做到这一点?
我试过用

proxy_cookie_path / "/; HTTPOnly; Secure";

但不起作用,尝试为https://github.com/AirisX/nginx_cookie_flag_module创建模块
但我得到一个错误:

2018/11/08 19:13:59 [emerg] 20894#20894: module "/etc/nginx/modules/ngx_http_cookie_flag_filter_module.so" is not binary compatible in /etc/nginx/nginx.conf:4

有什么建议吗?

ryhaxcpt

ryhaxcpt1#

不需要额外的模块或使用Nginx版本1.19.3中的proxy_cookie_path重写cookie。您只需使用新的配置:proxy_cookie_flags.
对于所有Cookie的使用:
proxy_cookie_flags ~ secure samesite=strict;
对于您可以使用(或正则表达式)的一些Cookie:
proxy_cookie_flags one httponly;
这将根据指定的规则向您的Cookie添加标记。
请在文档中查看更多信息:www.example.comhttps://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_flags

30byixjq

30byixjq2#

它被记录在here中。
Anton Saraykin开发的一个名为nginx_cookie_flag的Nginx模块可以让您在Set-Cookie HTTP响应头中快速将cookie标记设置为HTTPOnly和Secure。
有一件事您必须记住,您需要通过添加模块从源代码构建Nginx。
例如:

--add-module=/path/to/nginx_cookie_flag_module

使用上述模块构建Nginx后,您可以在相应配置文件的location或server指令中添加以下行

set_cookie_flag HttpOnly secure;

重新启动Nginx以验证结果

4dbbbstv

4dbbbstv3#

proxy_cookie_path应该在不需要cookie_flag模块和使用--add-module重建nginx的情况下工作。
我使用的是nginx 1.10版本,proxy_cookie_path不工作。但是,一旦我升级到1.16.1版本,它工作正常,不需要额外的模块。以下是步骤。

yum install http://nginx.org/packages/rhel/6Server/x86_64/RPMS/nginx-1.16.1-1.el6.ngx.x86_64.rpm

通过运行nginx -v确保nginx版本,然后在服务器下的nginx配置中添加以下内容

proxy_cookie_path / "/; HTTPOnly; Secure";

重启nginx并检查。

相关问题