Laradock redis 身份验证始终需要或无效对

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

Laradock 是一组 Laravel 相关的 docker 镜像(服务),可用于启动和运行它。然而,我似乎无法让 redis 开箱即用,无论我尝试什么配置,它都存在身份验证问题。我也从 v7 切换到 v6 并复制了别人的配置文件,但没有成功。

https://laradock.io/

docker-compose up -d apache2 mysql php-fpm redis

“保护模式否”甚至似乎根本不起作用。

CACHE_DRIVER=redis
QUEUE_CONNECTION=redis
SESSION_DRIVER=redis
SESSION_LIFETIME=480
SESSION_SAME_SITE=null

REDIS_HOST=redis
REDIS_PASSWORD=null
REDIS_PORT=6379

上面的默认配置,连接等似乎没问题。

REDIS_PASSWORD=null

结果

NOAUTH Authentication required.

REDIS_PASSWORD=foobared

结果

WRONGPASS invalid username-password pair

我无法使用 config:clear,因为它一直抛出相同的错误。

这很奇怪,因为 laradock 基本上是为 laravel 设计的,并且似乎不适用于默认设置。也许我们的项目代码使用不同的身份验证类型/方法?但我没有看到任何地方提到这一点,无论它是否可配置。

我并没有对任何 dockerfiles 或配置进行太多更改,只是添加了一个标准的 apache 配置。

redis.conf

bind 127.0.0.1
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
replica-priority 100
requirepass foobared
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes

redis Dockerfile

FROM redis:6.0.16
MAINTAINER Mahmoud Zalt <[email protected]>
RUN mkdir -p /usr/local/etc/redis
COPY redis.conf /usr/local/etc/redis/redis.conf
VOLUME /data
EXPOSE 6379
CMD ["redis-server", "/usr/local/etc/redis/redis.conf"]
#CMD ["redis-server"]
laravel docker redis laradock
3个回答
1
投票

Redis AUTH 密码位于 laradock 的

.env
文件中


1
投票

在某些时候,有人添加了 redis 的密码(检查 redis

docker-compose.yml
部分)。 它设置在
.env

这是默认部分:

### REDIS #################################################
REDIS_PORT=6379
REDIS_PASSWORD=secret_redis

0
投票

以下对我有用:

我在

docker-compose.yml
中注释掉了带有requirepass的行:

### Redis ################################################
  redis:
    restart: always
    build: ./redis
    volumes:
      - ${DATA_PATH_HOST}/redis:/data
    # command: --requirepass ${REDIS_PASSWORD}
    ports:
      - ‘${REDIS_PORT}:6379’
    networks:
      - backend
© www.soinside.com 2019 - 2024. All rights reserved.