V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
intheblade
V2EX  ›  程序员

用电信家庭网络自建 WEB 服务(80/443),大家还有这种需要吗

  •  
  •   intheblade · 2018-06-15 17:14:22 +08:00 · 1953 次点击
    这是一个创建于 2383 天前的主题,其中的信息可能已经有所发展或是发生改变。

    aerproxy

    使用免费的 Google App Engine 作为反向代理, 使用电信家庭宽带提供 WEB 服务。

    Credit to pokstad for:

    https://gist.github.com/pokstad/936ace2c6fc563105c17

    问题说明

    自动中国电信去年(2017 年 8 月?)封杀了家庭网络的 443 端口以后,使用家里不稳定的小水管自建 WEB 服务,基本已经不可能了。

    如何使用家里正在吃灰中 Raspberry Pi 自建一个 HTTPS (或者 HTTP )的小型 WEB 服务呢? 并且速度要快,时延要低。

    解决方法

    你需要准备:

    • 自有域名, 最好是根域名,appengine 分配的域名大概率会被 DNS 劫持
    • 家里电信需要用外网 IP, 拨打 10000 号找人工客服可解决(随便找个要装监控之类的理由)
    • 需要一个 DDNS 服务(www.pubyun.com 下面免费的 f3322.net 的就很好用)
    • 你需要申请一个免费的 Google App Engine, 选在日本节点( asia-northeast1 )
    • 你需要安装 gcloud SDK (翻墙看这里

    使用步骤

    • 修改 app.yaml, 将 PROXY_PASS_HOST_PORT 设置为你家里暴露出来的任意可访问的地址和端口,DDNS 的域名
      PROXY_PASS_HOST_PORT: 'your_ddns_domain_name:port'
      
    • 下载本项目
      git clone https://github.com/Yongke/aerproxy    
      
    • 部署该项目
      cd aerproxy && gcloud app deploy
      
    • 登录 app engine 控制台, "设置 - 自定义网域 - 添加自定义网域", 绑定你的域名。Google 会先验证你对 DNS 域名的拥有权。
    • 按照控制台的提示,去你的域名服务商配置 A 记录
       your_domain A 216.239.32.21 # 不通, 不要这个
       your_domain A 216.239.34.21 # 不通, 不要这个
       your_domain A 216.239.36.21 # 速度超快
       your_domain A 216.239.38.21 # 速度超快
      

    现在你可以用 https://your_domain 访问你家里的 WEB 服务了。 Enjoy it~

    其他说明

    • Google 使用 let's encrypt 的证书为你提供 https 服务
    • http://your_domain 会被重定向至 https, 如果你不想强制使用 https,可以修改 app.yaml,删除"secure: always"这一行
    • Google 每天提供 1G 的流量和 657084 的免费 urlfetch 调用次数,足够绝大多数人的需求了
    25 条回复    2018-06-16 23:05:18 +08:00
    zhouyut001
        1
    zhouyut001  
       2018-06-15 17:36:39 +08:00 via Android
    自建 web 基本没人访问,用其他端口开也没差了。挂个云盘还不是一样的用,改了端口感觉还隐私些
    elvisyao
        2
    elvisyao  
       2018-06-15 17:39:09 +08:00
    感谢楼主分享
    whypool
        3
    whypool  
       2018-06-15 17:40:45 +08:00
    撸的各种云还在吃灰呢
    gesse
        4
    gesse  
       2018-06-15 17:41:07 +08:00
    你这样属于违法行为
    intheblade
        5
    intheblade  
    OP
       2018-06-15 17:43:15 +08:00
    @gesse 求不举报;-)
    intheblade
        6
    intheblade  
    OP
       2018-06-15 17:43:52 +08:00
    @whypool 确实,不过重点不是这个,重点是折腾啊,哈哈
    artandlol
        7
    artandlol  
       2018-06-15 17:48:36 +08:00 via iPhone
    家里不需要外 ip frp 了解下
    haimall
        8
    haimall  
       2018-06-15 17:51:45 +08:00 via Android
    fikker 可以了解下
    intheblade
        9
    intheblade  
    OP
       2018-06-15 17:51:46 +08:00
    @artandlol ip frp,natapp, ngrok 等等, 甚至最直接的 ssh -r 都可以做到; 不过前提总是需要个跳板机的, 说实话没有那个跳板机速度比得上 google 的;-)
    fengtalk
        10
    fengtalk  
       2018-06-15 17:52:50 +08:00
    去年 80 端口没被封的时候,挂了个演示站,被电信打来电话警告,说是被工信部发现,要求撤下。最坏的结果是宽带被停掉。
    intheblade
        11
    intheblade  
    OP
       2018-06-15 17:53:49 +08:00
    @haimall not open source 啊, 我如果要编个 arm 版的怎么办?
    intheblade
        12
    intheblade  
    OP
       2018-06-15 17:55:59 +08:00
    @fengtalk 确实有一定风险。 不过也不一样。 国内的监控不会发现我在 80 或者 443 端口直接开了服务啊。 我用 appengine 开个服务咋了:-)
    missdeer
        13
    missdeer  
       2018-06-15 18:03:38 +08:00   ❤️ 1
    `下载本项目`不是应该在`修改 app.yaml`之前?
    intheblade
        14
    intheblade  
    OP
       2018-06-15 18:06:32 +08:00
    @missdeer 对的... 这里写错了
    tomychen
        15
    tomychen  
       2018-06-15 18:09:47 +08:00
    上下行不对等的情况下,有点尴尬啊
    iwtbauh
        16
    iwtbauh  
       2018-06-15 18:18:36 +08:00 via Android
    “自有域名, 最好是根域名“

    emmm,你要是能有根域名了估计你也看不上家庭宽带建网站。。。

    科普一下吧

    .root (或者简写为 .):根域名
    arpa. com. org. gov. cn. :顶级域名

    别说根域名,顶级域名你要是有都看不上家庭宽带 23333
    megachweng
        17
    megachweng  
       2018-06-15 18:35:20 +08:00 via iPhone
    公司内网测试服务器搭个 frp,勾搭运维 DMZ 设置一下,家里用 frp 连公司域名,上传下载快的飞起
    intheblade
        18
    intheblade  
    OP
       2018-06-15 18:38:25 +08:00 via Android
    @iwtbauh 汗~确实表达错误..
    intheblade
        19
    intheblade  
    OP
       2018-06-15 18:39:13 +08:00 via Android
    @tomychen 对等也木有用,一共才 1g 流量,只能博客什么的
    owenliang
        20
    owenliang  
       2018-06-15 18:56:40 +08:00 via Android
    谷歌 engine 竟然免费?
    miyuki
        21
    miyuki  
       2018-06-15 19:07:47 +08:00
    http://www.hostloc.com/thread-379990-1-1.html

    尼玛 ,一个探针导致一个家庭的悲剧
    Tink
        22
    Tink  
       2018-06-15 23:16:36 +08:00 via iPhone
    速度如何?
    johnnie502
        23
    johnnie502  
       2018-06-16 01:00:00 +08:00
    有这功夫,为啥不把应用直接放在 GAE 上?放家里绕一圈不知道是图个啥
    Tink
        24
    Tink  
       2018-06-16 01:06:14 +08:00
    试了一下,貌似源站如果仅支持 https 访问的话会有问题啊
    scofieldpeng
        25
    scofieldpeng  
       2018-06-16 23:05:18 +08:00
    自从电信关掉 443 端口后我就换为了域名+端口+https 访问了,家里跑点东西也是给自己看,非要公网访问,为啥不搞个云主机啥的,方便很多,你这样家庭带宽的速度优势都没有了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1044 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:59 · PVG 03:59 · LAX 11:59 · JFK 14:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.