使用显性及隐性URL转发实现免端口号访问“域名:端口”模式网站

所谓域名转发,即URL转发,就是通过服务器的特殊技术设置,实现当访问您的域名时,将会自动跳转到您所指定的另一个网络地址。当然前提是:首先您的域名已经成功注册,并使用默认的 DNS 服务器;其次您设置其转发至的目标地址是可以在互联网正常访问到的,这样才能保证您的 URL 转发成功。因此通过URL 转发服务,可以轻松实现多个域名指向一个网站或网站子目录了;另外,通过URL转发服务,可以方便的实现将您的中文域名,设置自动转发到您的英文域名主站点。

特别的,不管是腾讯云还是阿里云(万网),都要求本云上的域名已备案,并且只能转发在本云上解析的域名,即不管是转发域名还是被转发域名都必须在本云解析。

域名url转发分为两种方式:
不隐藏路径域名url转发:访问域名,自动跳转到指定的网络路径后,IE浏览器的地址栏里显示的地址自动变为显示真正的目标地址。
隐藏路径的域名url转发:访问域名,自动跳转到指定的网络路径后,IE浏览器的地址栏里显示的地址显示的地址保持不变,但实际访问到的是跳转后的内容。

举例:想用二级域名+主域名形式(product.example.com)形式访问“域名:端口”模式网站(www.example.com:8555),可在云操控台上,进入域名解析设置页面,添加一个新的解析:

记录类型:显性URL转发/隐性URL转发
主机记录:product
记录值:www.example.com:8555
解析线路:默认
TTL:10分钟

这样,URL转发配置就完成了

对于显性URL转发而言:在网址栏输入product.example.com时,将自动跳转进入www.example.com:8555,并在新页面显示的网址为www.example.com:8555。
对于隐性URL转发而言:在网址栏输入product.example.com时,同样会进入www.example.com:8555,但是其新页面将会一直保持显示product.example.com。

但URL隐性转发的解析配置完成后,直接访问product.example.com时,可能会发现服务发生了拒绝连接的现象。

这是因为一般网站服务器(如Apache或群晖NAS)为了防止网站被劫持,一般是不允许进行域名隐性转发的操作,需要相应更改配置来允许被转发。

如在阿里云服务器的Ubuntu系统中基于Apache2+Docker搭建的服务器,需要进入Docker镜像中,对Docker内的Apache配置进行更改(注意:不是更改阿里云服务器的Apache配置)

[在阿里云root中操作] docker exec -it [你的容器ID] /bin/bash
[在dockerID容器中操作] vim /etc/apache2/apache2.conf
# 在最后一行添加:
[在apache2.conf文件中操作] Header set X-Frame-Options "allow-from [你的域名]"
如:
[在apache2.conf文件中操作] Header set X-Frame-Options "allow-from http://www.example.com/"
[在apache2.conf文件中操作]保存并退出
[在dockerID容器中操作] /etc/init.d/apache2 restart
[在dockerID容器中操作] 同时按住Ctrl + Q + P退出容器

如果是转发访问群晖服务,需要在群晖设置“允许特定网站(域名)使用iFrame嵌入DSM” ,如下图:

控制面板–>安全性

————————————————
部分引用自:https://blog.csdn.net/zkchen0420/article/details/108547463