我想configuration我的Postgres实例,以便只有本地计算机和我的机器(通过互联网)应该能够访问数据库。 postgresql.conf
文件具有参数listen_addresses
,可用于设置允许访问的IP地址列表。
所以我把它设置为listen_addresses 'localhost,abcd'
这意味着它将授予访问localhost
和abcd
这就是说,我的IP地址。 但在这种情况下,它只是授予访问本地主机。
listen_addresses 'abcd'
也不起作用。 我再次检查互联网的IP地址,但它是正确的。 我试过了
listen_addresses 'localhost' // works only for local machine. listen_addresses '*' // works for both local and my machine listen_addresses 'localhost,abcd' // does not work for my machine listen_addresses 'abcd' // does not work for my machine
所以我在这里错过了什么?
你已经理解了听错地址的概念。
listen_addresses
是运行PostgreSQL的服务器上的接口的IP地址列表,可以用来连接PostgreSQL服务。
因此,例如,您的PostgreSQL服务器的IP地址为192.168.10.1
,您需要指定:
listen_addresses 'localhost,192.168.10.1';
这意味着所有可以访问IP地址192.168.10.1
客户端都可以连接到PostgreSQL服务器。
如果你想通过连接客户端的IP地址来限制连接,那么你有两个select:
pg_hba.conf
对连接应用IP限制。 查看客户端authentication 。