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 调用次数,足够绝大多数人的需求了