如何在家庭服务器上重定向子域名而不需要使用端口?

如何在家庭服务器上重定向子域名而不需要使用端口?

目前家中的设置:

  • 路由器操作系统 - openWRT
  • 路由器远程访问-端口80
  • 服务器操作系统 - Arch Linux
  • Web 服务器——nginx
  • 服务器 Web 服务器访问 - 端口 81(在路由器中完成端口重定向)
  • 调制解调器 IP 地址 - 动态
  • 拥有的域名 - example.com(作为示例)

我有一个域名 example.com。我创建了以下主机记录:

  • 始终指向我的动态 IP 的“A 记录”路由器 1
  • 我的子域名的 CNAME 指向上述“A 记录”

我的主服务器为几个网站提供服务;每个网站在服务器上都有一个特定的(不同且独特的)文件位置。我使用 nginx 中的“server_name”属性指向各个子域。

我的问题:目前要访问我的一个网站,我必须输入http://site1.example.com:81。我希望能够省略端口,然后输入http://site.example.com。我以为 URL 重定向是必需的,但我的域名托管商告诉我,我不能同时拥有 CNAME 和 URL 重定向。

我该如何解决上述问题?这个问题是不是只能通过 openWRT 来解决,还是我遗漏了什么?

谢谢

答案1

使用您当前的设置,这是不可能的。

原因是您的路由器将远程访问设置为端口 80。

为了改变这种情况,您必须将路由器的远程访问端口从 80 更改为其他端口,例如:8080 或 81。

然后设置从外部端口 80 到内部端口 80/81(您的 Web 服务器的内部 IP 地址以及您为其配置的端口)的端口转发。

然后在您的 DNS 上为子域设置一个 A 或 CNAME 记录并使其指向您的外部 IP 地址。

相关内容