最近我将我的 Linux 发行版更新为 wsl2。出现错误,因此我的 rails 应用程序无法连接到 PostgreSQL。我按照本文中的说明进行操作,一切正常,直到我重新启动计算机。重新启动后,命令会在该术语cat /etc/resolv.conf
下显示不同的 IP 地址。nameserver
似乎每次重新启动/关闭计算机后,我都必须更改pg_hba.conf
. 有什么方法可以将 wsl2 配置为稳定的nameserver
,这样就不需要pg_hba.conf
每次都更改?谢谢。
问问题
2496 次
1 回答
1
受这篇文章的启发。这是我为解决问题所做的:
1.关闭生成/etc/resolv.conf
使用您的 Linux 提示符(我使用的是 Ubuntu),使用以下内容修改(或创建)/etc/wsl.conf
[network]
generateResolvConf = false
2.重启WSL2虚拟机
退出所有 Linux 提示并运行以下 Powershell 命令
wsl --shutdown
3.创建自定义/etc/resolv.conf
打开一个新的 Linux 提示符并 cd 到/etc
如果resolv.conf
软链接到另一个文件,请删除链接
rm resolv.conf
新建一个resolv.conf
,内容如下
nameserver 172.20.128.1
4.重启WSL2虚拟机
5.pg_hba.conf
编辑C:\Program Files\PostgreSQL\pg_version\data
TYPE DATABASE USER ADDRESS METHOD
host all all 172.20.0.1/16 md5
所以,这样就不用pg_hba.conf
每次重启后都进行编辑了。
于 2020-06-10T15:02:06.867 回答