一个使用 vercel(前ZEIT Now) 部署 Disqus API Proxy 的示例。
Vercel 提供 Serverless 部署服务,支持包括静态网页、微服务、Lambda、持续集成等。在这里我们使用 Vercel 的微服务功能部署一个 Disqus API 的反代。
DisqusJS 中提供的公共 Disqus API 反代就部署在 ZEIT Now 上。
- fork 这个 repo
- 在 Vercel 上注册账号并绑定 GitHub 账号
- 在 GitHub APP 中为 Now 设置你 fork 后的 repo 的访问权限
- 在你 fork 后的 repo 中修改
vercel.json
的相关内容
- 如果你想要绑定你自己的域名,请将
vercel.json
中duosuo.nobige.cn
改成你的代理域名,或者你可以将整个alias
字段删除 - 如果不配置自己的域名,你也可以使用 vercel 提供的
vercel.app
子域名 - 将
cache-control
的值为缓存时长(数字),单位是秒。默认为6个小时,可以按需要修改,如果你并不需要设置缓存 ,可以将其字段删除 Access-Control-Allow-Origin
是设置跨域,值为你博客的域名,如博客域名为nobige.cn
值则为https://nobige.cn
或者是没有使用https的http://nobige.cn
- 如果你想要定制其它内容(如添加响应头),请参阅 Vercel 的相关文档
- 提交 commit
- Vercel 会自动开始部署你的项目,当部署完成后,Vercel 的 Bot 会给你发送邮箱提示完成情况
- 如果你绑定了你自己的域名,可以根据Vercel 的设置提示进行添加
- 测试你的反代是否可以使用:访问你的反代域名,应该会跳转到 Disqus API 文档页面*(未使用魔法上网无法打开)*
因为直接访问 https://disqus.com/api/ 便会跳转到 https://disqus.com/api/docs/ ;反代也会返回 3xx 状态码
- 修改你的服务中 Disqus API Endpoint 的配置;如果你正在使用 DisqusJS,这个配置是 DisqusJS 中的
api
字段。
- Vercel 提供永久免费的 Plan,但是有 100GB 的流量限制
- Vercel 实例中的
Vercel.app
域名会使用 Cloudflare 的 Enterprise Plan;但是你绑定的自己的域名只能使用 Vercel 自有的基础设施,如有必要可以在实例之外套一层 CDN