云解析 DNS 自建 Nginx,实现 URL 转发和指定访问端口

如果你想实现自行搭建 URL 转发或指定访问接口,可以参考这篇通过 Nginx 的转发功能实现。

相关产品
云解析 DNS 产品页,含版本规格、价格与购买入口。

一、配置前提

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 段, home.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段,home.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://home.11erotic.icu/ 访问8080端口应用,可以看到已成功转发。

赞 (0)
上一篇 4天前
下一篇 4天前