You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx配置语法错误求助:env变量缺失闭合括号

修复EasyEngine 4.x下Nginx自定义头部校验的语法错误

错误根源与修复后的配置

你遇到的核心问题是环境变量引用缺少闭合括号,补全后结合正确的Nginx变量逻辑,即可实现头部校验。以下是修复后的完整配置片段:

# /usr/local/openresty/nginx/conf/custom/user.conf
location / {
    # 校验X-Custom-Origin-Secret头部与环境变量值是否匹配
    if ($http_x_custom_origin_secret != "${env:CUSTOM_ORIGIN_SECRET}") {
        return 403;
    }

    # 保留原location块内的其他默认配置(如proxy_pass等,EasyEngine自动生成的内容)
    ...
}

关键细节说明

  1. 语法修复:原配置中${env:CUSTOM_ORIGIN_SECRET遗漏了闭合的},补全后符合OpenResty/Nginx的环境变量引用语法。
  2. 环境变量加载:确保EasyEngine站点已加载CUSTOM_ORIGIN_SECRET变量——在站点的/opt/easyengine/sites/[你的站点名]/config/env文件中添加CUSTOM_ORIGIN_SECRET=你的密钥值,执行ee site reload [你的站点名]让变量生效。
  3. 头部变量转换:Nginx会自动将请求头部X-Custom-Origin-Secret转换为小写下划线格式的变量$http_x_custom_origin_secret,直接用于对比即可。
  4. 工具差异解释:在线校验工具未完全模拟OpenResty的环境变量解析逻辑,导致误判通过,本地补全括号后重载配置即可解决报错。

验证方法

  • 重载配置:执行ee site reload [你的站点名](EasyEngine专用命令)或systemctl reload openresty
  • 测试请求:
    • 正确头部请求:curl -H "X-Custom-Origin-Secret: 你的密钥值" https://你的域名,应返回正常页面内容
    • 错误/无头部请求:返回403 Forbidden,说明校验生效

内容的提问来源于stack exchange,提问作者user25485813

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 17:32:37