nginx 基本身份验证在 docker-compose 中不起作用

问题描述 投票:0回答:1

我正在 docker-compose 中使用 nginx 为 loki 和 promtail 设置基本身份验证(凭据)。我创建了 htpasswd 来设置 loki 和 promtail 的密码,并为 loki 和 promtail 创建了单独的配置文件,并将其通过卷传递。 但是它不会触发 loki 和 promtail 的身份验证

docker-compose.yaml


version: "2"

services:
  my-nginx-service:
    image: nginx
    ports:
      - "8098:80"
    container_name: nginx
    volumes:
      - ./config/sites-enabled/loki:/etc/nginx/sites-enabled/loki
      - ./config/conf.d/loki.conf:/etc/nginx/conf.d/loki.conf
      - ./config/conf.d/loki.conf:/etc/nginx/conf.d/promtail.conf
      - ./config/sites-available/default:/etc/nginx/sites-available/default
      - ./config/htpasswd/.htloki:/etc/nginx/.htloki
      - ./config/htpasswd/.htloki:/etc/nginx/.htpromtail

  loki:
    image: grafana/loki:2.0.0
    container_name: loki
    volumes:
      - ./config/loki.yaml:/etc/config/loki.yaml
    entrypoint:
      - /usr/bin/loki
      - -config.file=/etc/config/loki.yaml
    ports:
      - "3100:3100"

  promtail:
    image: grafana/promtail:2.0.1
    container_name: promtail
    user: root
    volumes:
      - ./log:/var/log/test
      - /var/log/system.log:/var/log/root/system.log
      - ./config/promtail-local-config.yaml:/etc/config/promtail-local-config.yaml
    entrypoint:
      - /usr/bin/promtail
      - -config.file=/etc/config/promtail-local-config.yaml
    ports:
      - "9080:9080"

loki.conf

    server {

       listen 443;

       location / {
          auth_basic  "Protected Area";
          auth_basic_user_file /etc/nginx/.htloki;

          proxy_pass     http://loki:3100;
       }
    }

promtail.conf

    server {

       listen 442;

       location / {
          auth_basic  "Protected Area";
          auth_basic_user_file /etc/nginx/.htpromtail;

          proxy_pass     http://promtail:9080;
       }
    }

有人遇到过这个问题吗?

nginx devops basic-authentication grafana-loki
1个回答
0
投票

显然,我忘记在包含 .htpasswd 文件后重建容器映像。重建解决了这个问题

docker compose up --build

© www.soinside.com 2019 - 2024. All rights reserved.