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

如何为Nginx Proxy Manager配置自定义JSON日志格式?

如何为Nginx Proxy Manager配置自定义JSON日志格式

Nginx Proxy Manager(NPM)的WebUI没有直接配置自定义日志格式的入口,但可以通过自定义全局配置+代理主机单独配置的方式实现,具体步骤如下:

1. 定义全局JSON日志格式

NPM会自动加载data/nginx/custom目录下的配置文件到Nginx的http块中,所以我们需要在这里添加日志格式定义:

  • 首先创建data/nginx/custom目录(如果不存在的话):
    mkdir -p data/nginx/custom
    
  • 在该目录下创建http.conf文件,写入你的JSON日志格式:
    log_format json_analytics escape=json '{'
          '"time_local": "$time_local", '
          '"remote_addr": "$remote_addr", '
          '"request_uri": "$request_uri", '
          '"status": "$status", '
          '"http_referer": "$http_referer", '
          '"http_user_agent": "$http_user_agent", '
          '"server_name": "$server_name", '
          '"request_time": "$request_time", '
          '"geoip2_data_country_code": "$geoip2_data_country_code", '
          '"geoip2_data_country_name": "$geoip2_data_country_name", '
          '"geoip2_data_city_name": "$geoip2_data_city_name", '
          '"geoip2_data_postal_code": "$geoip2_data_postal_code", '
          '"geoip2_data_latitude": "$geoip2_data_latitude", '
          '"geoip2_data_longitude": "$geoip2_data_longitude", '
          '"geoip2_data_state_name": "$geoip2_data_state_name", '
          '"geoip2_data_state_code": "$geoip2_data_state_code"'
          '}';
    

    注意:原配置中的变量名存在笔误,$httpReferer需改为$http_referer,$httpAgent需改为$http_user_agent,否则Nginx无法识别这些变量。

2. 为代理主机配置使用自定义日志格式

每个代理主机的自动生成配置文件(如proxy_host/1.conf)会被NPM覆盖,必须通过WebUI的自定义配置修改:

  • 登录NPM的WebUI,找到目标代理主机并进入编辑页面
  • 切换到高级选项卡,在自定义Nginx配置文本框中添加以下内容:
    access_log /data/logs/nginx/proxy-host-1-access.log json_analytics;
    error_log /data/logs/nginx/proxy-host-1-error.log warn;
    
    • 可根据需求修改日志文件的路径和命名(比如按代理主机ID区分)
    • 若所有代理主机都需要使用该格式,重复此步骤为每个主机添加配置

3. 重启Nginx Proxy Manager使配置生效

如果是Docker部署,执行以下命令重启容器:

docker restart nginx-proxy-manager

注意事项

  • 确保Nginx Proxy Manager已安装geoip2模块,若未安装,需使用包含该模块的自定义镜像(Docker部署)或手动安装模块(非Docker部署)
  • 日志文件所在目录需提前创建,否则Nginx会报错:
    mkdir -p /data/logs/nginx
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 06:05:41