Tim*_*ver 2 django postgresql windows-subsystem-for-linux wsl-2
我主要在 Windows 上进行开发,但我正在使用 WSL 测试我的应用程序,因为我会将其推送到 Linux 服务器。我当前的问题是将在 WSL 上运行的 django 应用程序连接到在 Windows 上运行的 postgres。许多文章解释了如何连接到在 WSL 上运行的 postgres,但反之则不然。
我无法测试所有这些,因此我们可能需要调整此答案中的一些项目,但以下是我建议的步骤:
首先,假设这是一个 WSL2 实例,mDNS 应该可以从 WSL 访问 Windows 主机 IP。ping $(hostname).local首先尝试从 WSL 内部尝试。
如果这可以解析 IP 地址,那么就是步骤 1。如果不能,则还有其他选择(请参阅此答案)。
我假设由于防火墙的原因 ping 不会返回。您需要一条规则来启用它。从管理员 PowerShell New-NetFirewallRule -DisplayName "WSL Ping" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow -Protocol ICMPv4,. 然后再试ping $(hostname).local一次。删除规则Remove-NetFirewallRule -DisplayName "WSL Ping"
如果有效,那么您就真正找到了如何访问 PostgreSQL 的答案——在该接口上设置防火墙规则。它应该是类似的东西New-NetFirewallRule -DisplayName "WSL PostgreSQL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow -Protocol TCP -LocalPort 5432。
然后您应该能够使用 {computername}.local 地址从 WSL 中的 Django 应用程序访问它。
| 归档时间: |
|
| 查看次数: |
1861 次 |
| 最近记录: |