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

Graylog Docker部署后/api/api-browser/页面无法正常显示求助

解决Graylog Docker部署中API Browser无法正常访问的问题

方法一:修改Graylog环境变量(无需额外代理)

问题核心是Graylog容器内部的API地址与外部访问地址不匹配,导致API Browser跳转路径错误。直接修改docker-compose.yml中Graylog服务的环境变量即可解决:

更新graylog服务的environment配置段:

graylog:
  image: graylog/graylog:4.3.5
  environment:
      - GRAYLOG_PASSWORD_SECRET=somepasswordpepper
      - GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
      # 外部访问地址,保持和你实际访问Graylog的地址一致
      - GRAYLOG_HTTP_EXTERNAL_URI=http://localhost:9000/
      # 让Graylog绑定到容器所有网卡,允许外部访问
      - GRAYLOG_HTTP_BIND_ADDRESS=0.0.0.0:9000
      # 强制API发布地址与外部URI对齐
      - GRAYLOG_API_PUBLISH_URI=http://localhost:9000/api/

修改后重启服务:

docker-compose down && docker-compose up -d

此时API Browser的跳转链接会直接指向localhost:9000,页面资源路径也能正确加载。

方法二:使用Nginx反向代理(适合生产环境)

如果需要通过域名或统一入口访问,可添加Nginx代理层:

1. 创建Nginx配置文件graylog.conf

server {
    listen 80;
    server_name localhost; # 替换为你的实际域名

    location / {
        proxy_pass http://graylog:9000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location /api {
        proxy_pass http://graylog:9000/api;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        # 支持API Browser所需的WebSocket连接
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

2. 更新docker-compose.yml添加Nginx服务

version: '3.1'

services:
  mongo:
    image: mongo:4.2
    networks:
      - graylog

  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2
    environment:
      - http.host=0.0.0.0
      - transport.host=localhost
      - network.host=0.0.0.0
      - "ES_JAVA_OPTS=-Dlog4j2.formatMsgNoLookups=true -Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    deploy:
      resources:
        limits:
          memory: 1g
    networks:
      - graylog

  graylog:
    image: graylog/graylog:4.3.5
    environment:
        - GRAYLOG_PASSWORD_SECRET=somepasswordpepper
        - GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
        # 改为Nginx代理后的访问地址
        - GRAYLOG_HTTP_EXTERNAL_URI=http://localhost/
        - GRAYLOG_HTTP_BIND_ADDRESS=0.0.0.0:9000
        - GRAYLOG_API_PUBLISH_URI=http://localhost/api/
    entrypoint: /usr/bin/tini -- wait-for-it elasticsearch:9200 --  /docker-entrypoint.sh
    networks:
      - graylog
    restart: always
    depends_on:
      - mongo
      - elasticsearch

  nginx:
    image: nginx:alpine
    volumes:
      - ./graylog.conf:/etc/nginx/conf.d/default.conf
    networks:
      - graylog
    ports:
      - 80:80
    depends_on:
      - graylog

networks:
    graylog:
      driver: bridge

重启服务后,通过http://localhost访问Graylog,API Browser即可正常显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 09:24:27