你好,首先感谢提供这样的工具。 我之前是通过ssh隧道来把我内网的web应用映射出去,现在换成你这个工具,但是我没有域名,只想通过ip,即没有配置custom_domains,可以实现吗?或者是现在已经支持了,如何配置?
[fatedier/frp]访问内网web不通过域名
回答
代理类型使用 tcp,相当于直接端口转发(参考转发 ssh 端口的示例),映射一个公网的 ip:port 到你内网的 web 应用。
我本地是启动的nginx监听的80端口,再启动frpc就提示下面的错误 2016/08/15 08:35:24 [main.go:109][I] Start frpc success 2016/08/15 08:35:24 [control.go:181][E] ProxyName [ssh], start proxy error, ProxyName [ssh], start proxy error: listen tcp 0.0.0.0:80: bind: address already in use
frpc.ini
[ssh]
type = tcp
local_port = 80
use_encryption = true
use_gzip = false
pool_count = 10
补充一下,我local machine是window
这个提示和本地的 nginx 无关,是远程 frps 返回的错误信息,表示远程服务器的 80 端口已经被占用了,你可以换一个其他端口。
这个我也检查过frpc.log,确实有这个日志,但是我check过remote machine上没有80被占用,启动了frpc后,是被frpc进程占用的,我再仔细检查下,thanks
这个日志是 frpc 注册到 frps 上失败后,frps 返回的信息, 你的 vhost_http_port
是不是设置成 80 端口了?
搞定了,是下面这个配置导致frps自己占用了80端口,然后我映射的tcp也是80端口,就冲突了
vhost_http_port = 80
你好,我也遇到了相同的需求,没有域名,请教一下配置文件详细信息,谢谢!
@RukawaKaede
frps.ini
[common]
bind_port = 7000
frpc.ini
[common]
server_addr = aaa.bbb.ccc.ddd
server_port = 7000
[tcp_port]
type = tcp
local_ip = 127.0.0.1
local_port = 2333
remote_port = 3333
然后就可以在外网通过 http://aaa.bbb.ccc.ddd:3333 访问到内网机器里的 http://127.0.0.1:2333 了
按照上面的配置没有域名的,提示: The webpage at http://xxxxxxxxxx:xxxx/ might be temporarily down or it may have moved permanently to a new web address.
我也出现了同样的问题,但只有当remote_port = 6000时出现这个错误提示。我把remote_port设置为80,8080,6001时全部运转成功。
我遇到的是80、443提示port unavailable。调试一番发现是因为frps没用root用户运行。