前言

使用Vercel反向代理有以下优点

  • 域名不需要备案
  • 隐藏源主机地址
  • 可以充当缓存机
  • 还赠送免费的SSL

需要环境

  • npm
  • Vercel账号

配置模块

打开命令行执行以下

  1. 安装所需模块: npm i-g vercel
  2. 登入: vercel login
  3. 选择相应的登入方式登入即可.

实现反代

假设我有一个博客和一个未备案域名(bilibili.com), 博客运行在主机 123.123.123.123 里面, 运行端口是9000 .
我需要这个未备案域名指向我的博客(123.123.123.123:9000).
碰巧国外主机不需要备案, 碰巧vercel是国外服务器, 还碰巧未备案解析商(腾讯)是国内, 就碰巧能解决这个需求, 步骤如下.

  1. 新建一个JSON文件, 比如这个叫 blog.json, 编辑内容如下:
1
2
3
4
5
6
{
"version": 2,
"routes": [
{"src": "/(.*)","dest": "http://123.123.123.123:9000/$1"}
]
}
  1. 打开命令行 cd 到这个json文件的目录, 执行部署: vercel -A blog.json --prod
  2. 根据提示完成部署, 你会得到一个默认域名, 域名指向http://123.123.123.123:9000,
    此时打开 Vercel官网 就能看到这个项目.
    我们接下来把未备案域名解析到这个项目

域名解析

我需要这个未备案域名指向我的博客(123.123.123.123:9000).

  1. 打开 Vercel官网 点击刚才的项目
  2. 找到 setting->domains->add
    add
  3. 根据提示去域名商那里完成解析即可, 你就会得到一个免费的SSL.

忠告

不要手贱去反向代理github,google等知名网站, 会判定你为钓鱼网站, 最后发一封邮件告诉你你在钓鱼违反规定然后封号斗罗. (
不要问我怎么知道的呜呜呜)
2333

错误收录

502

2024.07.22更新:有几位网友询问的错误都是 502 Bad Gateway,大概率是被墙的原因。
可能的解决方案是换成 Netlify 反向代理。原理是一样的。

netlify.toml
1
2
3
4
5
6
7
8
9
[build]
command = "echo 'No build command required.'"
publish = "."

[[redirects]]
from = "/*"
to = "https://xxxxx:xxxx/:splat"
status = 200
force = true
  • github新建一个仓库,里面只要一个文件 netlify.toml ,代码在上面,自己改一下自己的地址和端口。
  • 注册netlify账号,绑定自己的github账号,然后新建一个netlify项目,选择刚才新建的仓库,点击deploy,等待部署完成。
  • 访问netlify生成的域名,如果可以看到你的网站,说明netlify反代成功。就可以绑定自己的域名了。
  • 绑定自己的域名,选择netlify提供的域名解析服务,将域名解析到netlify提供的域名,然后等待解析生效。
  • 到此,netlify反代成功,可以愉快的玩耍了。

本站由 钟意 使用 Stellar 1.28.1 主题创建。
又拍云 提供CDN加速/云存储服务
vercel 提供托管服务
湘ICP备2023019799号-1
总访问 次 | 本页访问