wsl docker 安装frp内网穿透出现error: dial tcp 127.0.0.1:xxxx: connect: connection refused解决方法


环境为win11+wsl2+docker desktop+frp镜像

发生背景:wsl配置文件中我设置了

networkingMode=mirrored

所以一般情况下wsl2和主机ip一致,可互通

原始配置文件为

#frpc.toml配置文件端口映射部分
[text]
type = tcp#模式
local_ip =127.0.0.1#本机ip
local_port =1234#本机端口
remote_port =12345#远程端口

按照设想,本机ip与wsl一致,不会出错,可是出现错误如下:
​​​​
​​​​

由于远程服务器设置无误,防火墙也放开了端口所以主要研究本机,更改为0.0.0.0或192.168.x.x后都无效,可在我使用windows版本的frp中,可以正常转发,所以基本可以确定不是防火墙的问题,在主要确定可以是ip地址问题后,我在一篇文章https://blog.csdn.net/gaohongfeng1/article/details/138509578

中发现

把地址改为这个以后可以正常使用,通过询问copilot后,得出了如下解释:

127.0.0.1
定义:127.0.0.1 是一个环回地址(loopback address),用于指向本地计算机。
用途:在本地计算机上运行的程序可以通过 127.0.0.1 访问同一台计算机上的服务。
限制:只能在本地计算机上使用,不能用于访问 Docker 容器中的服务。
host.docker.internal
定义:host.docker.internal 是 Docker 提供的一个特殊 DNS 名称,用于在 Docker 容器中访问宿主机。
用途:在 Docker 容器中运行的程序可以通过 host.docker.internal 访问宿主机上的服务。
限制:只能在 Docker 容器中使用,不能在宿主机或其他环境中使用。
 在修改端口配置为

#frpc.toml配置文件端口映射部分
[text]
type = tcp   #模式
local_ip =host.docker.internal  #DockerDNS
local_port =1234  #本机端口
remote_port =12345  #远程端口
后,可以正常使用frp 

​``

posted @ 2024-07-25 23:33  白白白芷  阅读(734)  评论(0)    收藏  举报