Jac*_*sen 8 postgresql authentication postgresql-9.6
根据 PostgreSQL 文档:
以点 (.) 开头的主机名规范与实际主机名的后缀匹配。所以 .example.com 将匹配 foo.example.com(但不仅仅是 example.com)。
所以我把这一行放进去pg_hba.conf
并重新启动 PostgreSQL:
hostssl market_data market_data_access .horsholm.dk md5
Run Code Online (Sandbox Code Playgroud)
然后我尝试连接到数据库:
psql "postgresql://market_data_access@<server-IP>:5433/market_data?sslmode=require"
Run Code Online (Sandbox Code Playgroud)
我得到了这个,而不是密码提示:
psql: FATAL: no pg_hba.conf entry for host "195.249.206.131", user "market_data_access", database "market_data", SSL on
Run Code Online (Sandbox Code Playgroud)
为了检查,我对错误消息中列出的 IP 地址进行反向 DNS 查找:
$ host 195.249.206.131
131.206.249.195.in-addr.arpa is an alias for 131.129-190.206.249.195.in-addr.arpa.
131.129-190.206.249.195.in-addr.arpa domain name pointer kommune.horsholm.dk.
$
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
195.249.206.131
解析为kommune.horsholm.dk
与通配符匹配是不够的。
检查后,Postgres 将尝试解决kommune.horsholm.dk
并发现它没有解决195.249.206.131
(因为在这种特殊情况下它根本没有解决)
$ host kommune.horsholm.dk
Host kommune.horsholm.dk not found: 3(NXDOMAIN)
Run Code Online (Sandbox Code Playgroud)
文档引用:
如果指定了主机名(任何不是 IP 地址范围或特殊关键字的内容都被视为主机名),则将该名称与客户端 IP 地址的反向名称解析结果进行比较(例如,反向 DNS查找,如果使用 DNS)。主机名比较不区分大小写。如果匹配,则对主机名执行前向名称解析(例如,前向 DNS 查找)以检查其解析为的任何地址是否与客户端的 IP 地址相同。如果两个方向都匹配,则认为该条目匹配
归档时间: |
|
查看次数: |
4483 次 |
最近记录: |