目前家中的设置:
- 路由器操作系统 - 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 地址。