概述
如果您想实现自行搭建 URL 转发或指定访问接口,可以参考本文通过 Nginx 的转发功能实现。
配置前提
1. 安装 Nginx,本文实例使用 腾讯云轻量应用服务器,提供在线的 shell 控制台功能和文件编辑管理,也可以通过 Orcaterm AI 直接查询 Nginx 安装教程:

本文在轻量应用服务器上使用 yum 包管理器安装 Nginx,命令如下:
sudo yum install nginx -y
2. 启动 Nginx 服务,命令如下:
sudo systemctl start nginxsudo systemctl enable nginx
3. 验证 Nginx 安装成功: 打开浏览器,输入
http://你的服务器ip
,可以看到 Nginx 的默认欢迎页面。
使用场景
转发主要有3类使用场景:
场景1:显性转发,效果为浏览器地址栏输入
http://a.com
,转发目标地址为https://cloud.tencent.com/
,浏览器显示转发目标地址的网站内容,且浏览器地址栏显示目标地址 https://cloud.tencent.com/
。场景2:隐性转发,效果为浏览器地址栏输入
http://a.com
,转发目标地址为https://cloud.tencent.com/
,浏览器显示转发目标地址的网站内容,但地址栏显示当前地址 http://a.com
。 场景3:端口转发,效果为浏览器地址栏输入
http://a.com
,转发目标地址为 http://a.com:8080
浏览器显示转发目标地址8080端口的内容。场景1. 显性 URL 转发操作场景
我们使用301/302实现显性 URL 转发,浏览器地址栏保持原始 URL,但内容从目标服务器获取。本例中,我们将 http://shop.11erotic.icu 域名隐性转发到 http://www.example.com。
1. 在云解析控制台中添加好 shop.11erotic.icu 的 A 记录,记录值为 Nginx 服务器的公网 IP,这一步是为了让请求先到达 Nginx 服务器。

2. 使用文本编辑器(如 vi )打开配置文件 nginx.conf:
sudo vi /etc/nginx/nginx.conf
3. 设置 server shop.11erotic.icu 通过301重定向转发到新 URL:
server {listen 80;server_name shop.11erotic.icu;location / {return 301 http://www.example.com;}}
您也可以选择使用302重定向 方式,两者的差别是 http 301响应码代表永久重定向,http 302响应码代表临时重定向。
server {listen 80;server_name shop.11erotic.icu;location / {return 302 http://www.example.com;}}
4. 重启 Nginx。
sudo
systemctl reload nginx
5. 验证效果,通过
curl -v http://shop.11erotic.icu
进行验证:curl
-v http://shop.11erotic.icu
如下图所示,HTTP 响应的转发字段 Location 信息和预设的 URL 地址一致,说明设置的 URL 转发已生效:

场景2. 隐性 URL 转发操作场景
我们使用反向代理实现隐性 URL 转发,浏览器地址栏保持原始 URL,但内容从目标服务器获取。本例中,我们将 http://home.11erotic.icu 域名隐性转发到 http://www.example.com。
1. 使用文本编辑器如 vi 打开配置文件 nginx.conf
sudo vi /etc/nginx/nginx.conf
2. 设置 server 段, shop.11erotic.icu 通过 proxy_pass 转发到新 URL:
server {listen 80;server_name home.11erotic.icu;location / {proxy_pass http://www.example.com;}}
3. 重启 Nginx。
sudo
systemctl reload nginx
4. 验证效果,使用
curl -v http://home.11erotic.icu
进行验证:curl
-v http://home.11erotic.icu
如下图所示,返回的内容已经是 http://www.example.com 的内容,说明设置的 URL 转发已生效:


场景3. 端口转发操作场景
使用文本编辑器如 vi 打开配置文件nginx.conf,配置自己的server,就能将不同子域名解析到不同端口了。本例中,我们将http://home.11erotic.icu 转发到http://home.11erotic.icu:8080。
1. 使用文本编辑器如 vi 打开配置文件nginx.conf
sudo vi /etc/nginx/nginx.conf
2. 设置 server段, shop.11erotic.icu 通过 proxy_pass 转发到8080端口:
server {listen 80;server_name home.11erotic.icu;location / {proxy_pass http://localhost:8080;}}
3. 重启 Nginx。
sudo
systemctl reload nginx
4. 验证效果,通过 http://hello.11erotic.icu/ 访问8080端口应用,可以看到已成功转发。
