禁用postgres侦听IPv6



我在官方镜像上创建了一个postgres docker镜像,将我自己的pg_hba.conf复制到其中,因为我需要禁用IPv6侦听:

FROM postgres:13
COPY pg_hba.conf /etc/

之后,我使用以下docker-compose.yaml运行容器:

postgres:
image: custom-postgres
command: postgres -c hba_file="/etc/pg_hba.conf"

但是postgres仍然尝试侦听不存在的IPv6套接字。我做错了什么?这是我的pg_hba.conf:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     trust
host    replication     all             127.0.0.1/32            trust

但我得到的感觉是,它没有被使用,因为我可以看到,默认的pg_hba.conf仍然创建在/var/lib/postgresql/data

如果你想设置Postgres服务器监听的接口,你需要在postgresql.conf中使用listen_addresses。要限制IPv4,请设置为0.0.0.0。有关更多选项,请参阅文档链接。pg_hba.conf用于控制客户端对服务器的访问。它不控制服务器监听哪个接口。

相关内容

  • 没有找到相关文章

最新更新