背景:
1、 在腾讯云中有一台轻量服务器,有固定IP,有已备案域名。
2、家里宽带有非静态公网IP,TP-Link路由器自带ddns服务,可通过二级域名 [TPLINK帐户名].tpddns.cn访问(也可以自已基于云解析实现一个ddns)。
3、因为云服务器上资源非常有限,就想着只把云服务器当代理服务器用,实际服务都放家里电脑上,因为是主要是http服务,所以最先想到的是用Nginx转发。
结果发现,每次配置后测试第一时间是可以访问的,但过一段时间就会报502错误。
即 nginx proxy_pass 到 http://[TPLINK帐户名].tpddns.cn 时会超时(nginx转发超时时间k足够长、正常情况下http服务能访问时很快就能返回)。
补充:
1、nginx proxy_pass 到公网IP地址或自定义ddns实现的域名(未备案)也一样。
2、在云服务器上用curl 测试访问 http: //[TPLINK帐户名].tpddns.cn 是可以访问的,速度也很快。平常也经常通过 [TPLINK帐户名].tpddns.cn 用远程桌面访问家里的电脑,也很稳定。
3、云服务防火墙、安全级之类的没有出流量限制。
补充:
nginx stream 转发直接将80/443端口的tcp转发到 [TPLINK帐户名].tpddns.cn:[端口] 上也不行。
在云服务器上用 curl 测试访问 http://[TPLINK帐户名].tpddns.cn:[端口] 是可以正常请求的。
只把云服务器当代理服务器用,实际服务都放家里电脑上 ,这是不是可以用内网穿透工具,比如 frp 去实现
应该可以,但感觉有点复杂了,先前简单的看了一下frp,没太搞明白,有没有更简单的办法?
@Adming: 我只是简单了解过,应该分 frps 和 frpc, 分别在服务端和客户端部署,
/usr/bin/frps -c /etc/frp/frps.ini
/usr/bin/frpc -c /etc/frp/frpc.ini
分别启动就行了.
第一你家里的端口是不是运营商限制;
第二你可以用https://www.cnblogs.com/thinkingmore/p/15550667.html,设备IP,P2P直连
1、家里宽带除了80、443、8080等端口被限制外,其他端口都是通的。直接用 http: //[TPLINK帐户名].tpddns.cn:[端口号] 在外网是可以访问的。
2、研究下