请教下关于自己在家组服务器,公网访问的问题

2021-07-08 18:04:54 +08:00
 biguokang

我在家里用台式机装了个 vmware esxi,然后跑了 n 个服务器,跑了各种服务( web 、git 、密码管理、私人聊天服务器、私人笔记服务等等等)

其中有些服务我是想暴露在公网里的,比如我的个人网页、博客、密码管理器等等,而且日后我自己搞得一些小项目也会放在公网。



现在我的做法是这样的,在云服务商用新手价薅羊毛整了个包年的 1 核 1g1m 的乞丐版云服务器,备案好了域名,然后用 frp 穿透到我家里的服务器,再转发到各种服务

比如我下面的网站
alpaca.run
blog.alpaca.run
git.alpaca.run

服务都是部署在我家里的服务器,只不过用云服务器的 frp 做了 https 转发,所以你们才能在公网访问到部署在我家里的服务器。

但是有以下的问题:

我家里的出口带宽能到 500m,不过我的乞丐版服务器只有 1m,所以被云服务器的小水管限制住了,访问 web 服务会特别慢,如果人多,速度更是惨不忍睹。

要是包年包月买个高带宽的服务器,那价格可真的太吓人了。。




所以有没有好点的解决方案???

比如说网络上有没有那种专门为内网服务器暴露在公网的转发服务,而且带宽也高,速度也快?这样我就不用自己买云服务器做转发了,毕竟我的服务部署在我家。

或者说网络上有没有那种按流量收费的服务器,就是带宽很高,根据配置和流量使用情况进行收费(毕竟我的服务不会有很多人访问,折腾不了多少流量,包年性价比太低,但是现在单独打开一个网页都很慢,体验不好),一开始我在阿里云看到个按量收费,才发现人家是按小时收费而不是按流量收费,失望。

又或者说有没有比 frp 更好的转发工具?目前我的云服务器也只是跑了个 frp 而已

希望各位大佬能给个建议吧,我现在的包年乞丐版云服务器做 frp https 转发虽然能实现,但是感觉性价比差而且体验也不好。

( ps.不接受找运营商开通固定公网 ip 的做法,毕竟人家封 web 端口,还各种麻烦的政策问题)

9864 次点击
所在节点    宽带症候群
75 条回复
zjb861107
2021-07-09 11:10:43 +08:00
家里网件路由器有公网 IP,自带 DDNS 和 openvpn,再算上 frp,三种方案都可以在外访问内部服务。
可以先把各个服务的延迟、上下行带宽监控一段时间。然后按照安全、便利、速度几个维度给服务分级,分别走不同的路线
vinsony
2021-07-09 11:15:31 +08:00
给你网站的静态文件图片什么的单独弄个域名,然后给这个域名套个 CDN
zhiwen95
2021-07-09 11:17:06 +08:00
私人服务用 Zerotier
公共服务 DDNS + 路由器端口转发
joysir
2021-07-09 11:19:42 +08:00
我给家里宽带申请的动态公网 IP (每天 06:00 会变),给客服打一个电话就好了,很容易(北京联通)。
自建服务对 80 端口要求不高,并且改成其他端口也相对安全点。
photon006
2021-07-09 11:19:47 +08:00
你试试开启 frp 的 kcp 协议呢,我也是 1M 小水管,win10 、ubuntu 互相 rdp 远程,还不算太卡,凑合用。
yEhwG10ZJa83067x
2021-07-09 11:31:06 +08:00
可以把服务器放到当地机房吗,该备案备案。这样也不行吗
adonislau
2021-07-09 11:44:25 +08:00
不要选按流量计费的,除非你在 nginx 上设置登陆账号密码,不然流量一天被偷十几 G
totoro625
2021-07-09 12:06:07 +08:00
@liemehoc #35 你是指 frp 开在特定端口用套用 cloudflare 回源吗?
Cloudflare 支持的 HTTP 端口:80/8080/8880/2052/2082/2086/2095
Cloudflare 支持的 HTTPS 端口:443/2053/2083/2087/2096/8443
注:frp 服务器在中国的情况下只支持 80 和 443
服务器配置设置:
vhost_http_port = 80
vhost_https_port = 443

ps:如有备案域名可以使用国内的 CDN,可以指定端口回源,例如腾讯云,阿里云,又拍云,华为云
imluvian
2021-07-09 12:14:58 +08:00
DDNS 不就搞定了吗。。有那么难吗。。
amrom
2021-07-09 12:40:09 +08:00
frp 套 cf 的 cdn 最合适
LnTrx
2021-07-09 12:59:26 +08:00
@totoro625 没必要这么复杂,CloudFlare Argo Tunnel 直接就是类似于内网穿透的服务,教程很容易找到
Tarkky
2021-07-09 13:07:34 +08:00
其实从拓扑讲内网穿也行,不过,你内网的几个服务器在独立网段么?或者专业一点说在 DMZ 里面么?如果能分开,从安全性讲最好。然后内网路由器上面防火墙做好限制。这样穿的话最大限度保证安全。带宽的问题,有很多都可以弄啊。前面几位说的阿里轻量不是都可以么?
haoleba
2021-07-09 13:07:44 +08:00
不用 80 端口的话,家庭宽带可以软路由拨号+ddns 端口转发。
janda
2021-07-09 13:54:35 +08:00
如果是 web 开放 80 、443 什么的,搞一个小点的服务器或者 vps 做跳板!

其他的服务密码管理器、笔记本什么的项目的其他端口不影响吧?在配合 DDNS 动态解析到域名就可以外网访问
nnntttbbb
2021-07-09 14:48:27 +08:00
ddns
axiao12
2021-07-09 15:13:33 +08:00
阿里云和腾讯云不都是有按量付费的宽带套餐嘛
no1xsyzy
2021-07-09 15:39:12 +08:00
直接 cloudflared ( CloudFlare Argo Tunnel )
DNS 都不用单独配置,你向本地的 daemon 通知发布之后自动带上子域名 DNS 记录
dabinDev
2021-07-09 15:39:37 +08:00
@biguokang 好久不见,有点想念你博客的 bgm 了 发一个
suixn
2021-07-09 16:24:30 +08:00
ipv6 基本没啥限制,带宽还高。
InDom
2021-07-09 16:35:59 +08:00
首先,家宽能不能获取到公网 IP,IPv4 or IPv6 均可。

如果能,抛开特定端口被屏蔽之外,使用非标端口跑 http/https 是可以的(可能有停机风险)

如果不能,则考虑购买国内按流量收费的服务器,阿里云大概是 0.8 元 /G + 服务器配置费用。

如果有公网 IP 但害怕被停机,可以考虑 VPN 回家。

最后,没有公网 IP,不舍得花服务器流量费用,那可以考虑 frp 的 xtcp stcp 之类的 p2p 隧道方案了。

当然,如果家里有公网 IP,不想用 VPN,也可以使用 frp 打洞,只是体验可能比直接 VPN 稍微 差点?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/788357

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX