启用Secure Link模块需在./configure时添加--with-http_secure_link_module参数;该模块为Nginx官方内置模块,源码编译须显式声明,验证可用nginx -V | grep with-http_secure_link_module,配置中使用secure_link等指令后需nginx -t测试。

直接在 ./configure 阶段加上 --with-http_secure_link_module 参数即可启用 Secure Link 模块。这个模块是 Nginx 官方内置模块,不是第三方扩展,主流发行版预编译包通常已默认开启,但源码编译时需显式声明。
确认模块是否已启用
编译安装完成后,运行以下命令检查:
nginx -V 2>&1 | grep -o with-http_secure_link_module- 若输出该字符串,说明模块已成功编译进 Nginx;无输出则未启用
编译时添加模块的典型命令
在解压 Nginx 源码后,执行 configure 时加入该选项(可与其他常用模块并存):
./configure \--prefix=/usr/local/nginx \--with-http_ssl_module \--with-http_gzip_static_module \--with-http_secure_link_module
之后照常执行 make && sudo make install。
注意几个关键细节
- 模块名必须写全:
--with-http_secure_link_module(不能漏掉http_或写成securelink) - 无需额外安装依赖或 Lua 脚本,也不需要 OpenResty 或 Nginx Plus
- 如果使用自定义路径安装,确保新二进制文件覆盖旧版(如备份原
/usr/local/nginx/sbin/nginx后再替换) - 部分旧教程提到的
--add-module=...方式是针对真正第三方模块的,Secure Link 不适用
验证配置语法是否生效
在 nginx.conf 中尝试写入合法指令,例如:
location /dl/ {secure_link $arg_st,$arg_e;secure_link_md5 "$uri$arg_e$secure_link_secret";}
运行 nginx -t。若提示未知指令,说明模块未编译成功,需重新 configure 编译。


















