dij*_*a8x 9 database postgresql amazon-rds docker directus
我正在尝试将 macOS M1 上的 Docker 引擎 20 上运行的 Directus 9 本地实例连接到 AWS RDS Postgres 15。
我可以使用 Postico 在本地正常连接到 RDS 数据库,因此通过 VPC 的公共远程连接正在运行。我还可以连接到位于 host.docker.internal 的本地 Postgres 数据库
我尝试在 RDS 配置中使用参数组来不需要加密连接。设置 rds.force_ssl = 0 不起作用。
当我尝试时出现以下错误run docker compose up
ERROR: no pg_hba.conf entry for host "XX.XXX.XX.XX", user "postrgres", database "EXAMPLEDB", no encryption
directus | err: {
directus | "type": "DatabaseError",
directus | "message": "no pg_hba.conf entry for host \"XX.XXX.XX.XX\", user \"postrgres\", database \"EXAMPLEDB\", no encryption",
directus | "stack":
Run Code Online (Sandbox Code Playgroud)
我相信这意味着生产 Postgres 数据库不允许非加密连接。
我克隆了 Directus 存储库并使用 docker 从 docker-compose.yml 进行构建。我没有使用 .env 文件进行配置,而是将所有内容放入此 compose 文件中。我今天刚接触 docker,还不完全理解如何正确编写此配置,我参考了本指南https://docs.directus.io/self-hosted/config-options.html#database
services:
database:
container_name: database
image: postgis/postgis:13-master
# Required when running on platform other than amd64, like Apple M1/M2:
#platform: linux/amd64
#volumes:
# - ./data/database:/var/lib/postgresql/data2
networks:
- directus
environment:
POSTGRES_USER: 'directus'
POSTGRES_PASSWORD: 'directus'
POSTGRES_DB: 'directus'
directus:
environment:
DB_CLIENT: 'postgres'
DB_HOST: 'xxx.rds.amazonaws.com'
DB_PORT: '5432'
DB_DATABASE: 'XXXX'
DB_USER: 'postrgres'
DB_PASSWORD: 'XXX'
directus exited with code 1
Run Code Online (Sandbox Code Playgroud)
我认为不可能对 RDS 上的 pg_hba.conf 进行任何更改,并且不应对其进行编辑或将其视为解决方案。
错误的原因可能是docker镜像没有安装SSL或者什么的吗?
我使用了https://github.com/directus/directus提供的所有 Dockerfile 和文件
关于可能导致此错误的解决方案的任何想法?
我认为你设置的DB_CLIENT变量是错误的。它应该pg根据 Directus 官方文档https://docs.directus.io/self-hosted/config-options.html#config-yaml
| 归档时间: |
|
| 查看次数: |
9641 次 |
| 最近记录: |