如何编译Tengine Cookie标签模块?

Nginx

1 前言

一个问题,一篇文章,一出故事。
笔者编译版本的Tengine需要加载Cookie标签模块,于是整理本章节。

2.1 实践环境

如果你没有Tengine环境,可参阅如下章节部署,

如何编译安装Oracle Linux 9.x Tengine?

2.2 编译前准备

2.2.1 准备安装包

cd ~/
wget -O nginx_cookie_flag_module-1.1.0.tar.gz https://github.com/AirisX/nginx_cookie_flag_module/archive/refs/tags/v1.1.0.tar.gz
tar -xf nginx_cookie_flag_module-1.1.0.tar.gz

2.2.2 准备模块的编译安装包

mv nginx_cookie_flag_module-1.1.0 ~/tengine-3.0.0/modules/nginx_cookie_flag_module

2.3 重新编译tengine

2.3.1 执行预编译

cd ~/tengine-3.0.0/
./configure \
#...
--add-module=modules/nginx_cookie_flag_module

注:“#…”表示省略Nginx的基本编译参数

2.3.2 重新编译

cd ~/tengine-3.0.0/
make

2.3.3 重新安装部署

cd ~/tengine-3.0.0/
make install

安装完毕后,你可以使用如下命令确认模块已经被安装,

nginx -V 2>&1 | grep nginx_cookie_flag_module

2.4 配置粘贴

2.4.1 增加测试配置

vim /etc/nginx/nginx.conf

加入如下配置,

server {
    #...
    set_cookie_flag Secret HttpOnly secure SameSite;
    set_cookie_flag Secret HttpOnly secure SameSite;
    set_cookie_flag * HttpOnly secure;
    set_cookie_flag SessionID SameSite=Lax secure;
    set_cookie_flag SiteToken SameSite=Strict;
    #...
}

然后,你需要使用如下命令确认配置无语法错误,

nginx -t

2.4.2 重载配置使服务生效

systemctl reload nginx.service

参阅文档
======================
https://github.com/AirisX/nginx_cookie_flag_module
https://docs.nginx.com/nginx/admin-guide/dynamic-modules/cookie-flag/

没有评论

发表回复

Nginx
如何解决https请求不安全http页被阻止问题?

1 前言 一个问题,一篇文章,一出故事。 笔者最近代理公司应用,发现https的页面有请求不安全的h …

Nginx
如何Nginx代理上游的子项目或文件夹?

1 前言 一个问题,一篇文章,一出故事。 笔者接到任务需要把Tomcat的其中一个应用号使用Ngin …

Nginx
如何安装部署RHEL 9 Nignx?

1 前言 一个问题,一篇文章,一出故事。 笔者需要基于RHEL 9部署Nginx环境,于是整理此文。 …