前言
使用Vercel反向代理有以下优点
- 域名不需要备案
- 隐藏源主机地址
- 可以充当缓存机
- 还赠送免费的SSL
需要环境
- npm
- Vercel账号
配置模块
打开命令行执行以下
- 安装所需模块:
npm i-g vercel
- 登入:
vercel login
- 选择相应的登入方式登入即可.
实现反代
假设我有一个博客和一个未备案域名(
bilibili.com
), 博客运行在主机 123.123.123.123 里面, 运行端口是9000 .
我需要这个未备案域名指向我的博客(123.123.123.123:9000
).
碰巧国外主机不需要备案, 碰巧vercel是国外服务器, 还碰巧未备案解析商(腾讯)是国内, 就碰巧能解决这个需求, 步骤如下.
- 新建一个JSON文件, 比如这个叫
blog.json
, 编辑内容如下:
1 |
|
- 打开命令行 cd 到这个json文件的目录, 执行部署:
vercel -A blog.json --prod
- 根据提示完成部署, 你会得到一个默认域名, 域名指向
http://123.123.123.123:9000
,
此时打开 Vercel官网 就能看到这个项目.
我们接下来把未备案域名解析到这个项目
域名解析
我需要这个未备案域名指向我的博客(
123.123.123.123:9000
).
- 打开 Vercel官网 点击刚才的项目
- 找到 setting->domains->add
- 根据提示去域名商那里完成解析即可, 你就会得到一个免费的SSL.
忠告
不要手贱去反向代理github,google等知名网站, 会判定你为钓鱼网站, 最后发一封邮件告诉你你在钓鱼违反规定然后封号斗罗. (
不要问我怎么知道的呜呜呜)
错误收录
502
2024.07.22更新:有几位网友询问的错误都是 502 Bad Gateway,大概率是被墙的原因。
可能的解决方案是换成 Netlify 反向代理。原理是一样的。
1 |
|
- github新建一个仓库,里面只要一个文件
netlify.toml
,代码在上面,自己改一下自己的地址和端口。 - 注册netlify账号,绑定自己的github账号,然后新建一个netlify项目,选择刚才新建的仓库,点击deploy,等待部署完成。
- 访问netlify生成的域名,如果可以看到你的网站,说明netlify反代成功。就可以绑定自己的域名了。
- 绑定自己的域名,选择netlify提供的域名解析服务,将域名解析到netlify提供的域名,然后等待解析生效。
- 到此,netlify反代成功,可以愉快的玩耍了。