使用FRP穿透内网:两种方案实现低配VPS+家用高性能网站托管

2025-06-16 16:53:15 0点赞 13收藏 4评论

       在家搭建高性能服务器面临两大难题:​​家庭宽带封禁80/443端口​​和​​高配云服务器成本高昂​​。通过​​FRP内网穿透技术​​,可将低配VPS作为流量入口,将请求转发到内网高性能主机,完美解决上述问题,搭建FRP需要一台有公网IP的云服务器,推荐腾讯海外免备案99/年非常划算,购买地址:618大促_腾讯云优惠活动
本文提供​​两种配置方案​​,满足不同场景需求,读者可根据实际情况灵活选择:

FRP穿透内网FRP穿透内网
  1. ​方案一:HTTP/HTTPS协议穿透​
    直接通过FRP处理Web流量,适合快速搭建基础服务。

  2. ​方案二:TCP协议穿透+宝塔管理HTTPS​
    由内网主机(如宝塔面板)统一管理证书,适合多站点、长期运维场景。


​​方案对比速览​​

特性方案一(HTTP/HTTPS)方案二(TCP+宝塔)​协议​​HTTP/HTTPSTCP​​证书管理​​FRP插件或手动配置宝塔自动续签​​配置复杂度​​简单中等​​适用场景​​单站点、快速部署多站点、长期运维​​端口占用​​VPS需开8080/8443VPS直用80/443​​扩展性​​需修改FRP配置添加新服务支持任意TCP服务转发


​​方案一:HTTP/HTTPS协议穿透(适合新手)​​

​​核心原理​​

  • VPS接收公网HTTP/HTTPS请求,通过FRP转发到内网主机。

  • 证书可通过FRP插件配置,或由VPS的Nginx统一管理。

​​配置步骤​​

  1. ​VPS服务端配置​
    修改 frps.ini (新版本为.toml后缀)
    [common]
    bind_port = 7000 
    authentication_method = token 
    token = your_secure_token 
    vhost_http_port = 8080 # HTTP转发端口 
    vhost_https_port = 8443 # HTTPS转发端口

  2. ​内网客户端配置​
    修改 frpc.ini
    [common] 
    server_addr = your_vps_ip 
    server_port = 7000 
    token = your_secure_token 
    [web-http] 
    type = http 
    local_port = 80 
    custom_domains = your-domain.com 
    [web-https] 
    type = https 
    local_port = 443 
    custom_domains = your-domain.com
    # 若需FRP管理证书,添加以下配置: 
    plugin = https2http 
    plugin_crt_path = /path/to/cert.pem 
    plugin_key_path = /path/to/key.pem

  3. ​域名解析​
    将域名解析到VPS IP,访问形式:

    • HTTP:http://your-domain.com:8080

    • HTTPS:https://your-domain.com:8443

​​适用场景​​

  • 测试环境、临时演示站点。

  • 需快速搭建服务且无多站点需求。

​​优势与不足​​

  • ​✅ 优势​​:配置简单,适合新手快速上手。

  • ​❌ 不足​​:需手动管理证书,端口非标准(需带端口访问)。


​​方案二:TCP协议穿透+宝塔管理HTTPS(推荐长期使用)​​

​​核心原理​​

  • 使用TCP协议透明转发原始流量,VPS直接开放80/443端口。

  • HTTPS证书由内网主机的宝塔面板自动申请和管理。

​​配置步骤​​

  1. ​VPS服务端配置​
    修改 frps.ini,仅保留基础端口:
    [common] 
    bind_port = 7000 
    authentication_method = token 
    token = your_secure_token

  2. ​内网客户端配置​
    修改 frpc.ini,转发TCP流量:
    [common] 
    server_addr = your_vps_ip 
    server_port = 7000 
    token = your_secure_token 
    [web-tcp-80] 
    type = tcp 
    local_port = 80 # 内网Web服务端口(如宝塔站点) 
    remote_port = 80 # VPS直接监听80端口 
    [web-tcp-443] 
    type = tcp 
    local_port = 443 # 内网HTTPS端口 
    remote_port = 443 # VPS监听443端口

  3. ​宝塔面板配置​

    • 添加站点,绑定域名 your-domain.com

    • 在宝塔的 ​​SSL管理​​ 中申请Let’s Encrypt证书,并开启强制HTTPS。

  4. ​VPS端口释放​

    • 停止VPS上的Web服务(如Nginx/Apache)以避免端口冲突:
      systemctl stop nginx && systemctl disable nginx

​​适用场景​​

  • 正式生产环境、多站点管理。

  • 需自动续签证书、追求标准端口访问。

​​优势与不足​​

  • ​✅ 优势​​:域名直接访问(无端口),证书自动续签,扩展性强。

  • ​❌ 不足​​:需调整VPS原有服务,内网需部署宝塔。


​​通用安全加固措施​​

  1. ​防火墙限制​

    • VPS仅开放必要端口(7000, 80, 443)。

    • 内网主机限制仅允许VPS IP访问转发端口。

  2. ​FRP通信加密​
    在服务端和客户端配置中启用TLS:
    # frps.ini 和 frpc.ini 
    [common] 
    tls_enable = true

  3. ​使用强Token​
    避免使用默认token,建议生成16位以上随机字符串。


​​常见问题解答​​

  1. ​如何选择方案?​

    • 短期/测试用途 → ​​方案一​

    • 长期/正式服务 → ​​方案二​

  2. ​访问时报SSL证书错误?​

    • 检查宝塔证书是否生效,或FRP插件证书路径是否正确。

  3. ​VPS端口被占用怎么办?​

    • 执行 netstat -tunlp | grep :80 查找占用进程并停止。

  4. ​如何实现开机自启动?​

    • 使用systemd配置服务(参考代码)。


​​总结​​

无论是快速搭建还是长期运维,FRP均能灵活应对:

  • ​方案一​​ 适合“短平快”需求,10分钟即可上线。

  • ​方案二​​ 提供企业级体验,完美融合宝塔生态。

建议从方案一开始练手,熟悉后迁移至方案二,享受标准化运维的便利!

展开 收起
4评论

  • 精彩
  • 最新
  • 太费事了,我直接用 zeronews ,简单还稳得一批

    校验提示文案

    提交
    zeronews 是组网,要安装客户端才可以用,FRP不需要,能上网就可以直接访问

    校验提示文案

    提交
    不用客户端,类似frp的服务端由平台提供了,但是免费只有一条隧道

    校验提示文案

    提交
    还有1条回复
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
13
扫一下,分享更方便,购买更轻松