抱歉,这个问题有点混乱,我对 Ubuntu\linux 系统还不太熟悉,不知道哪些信息重要,哪些不重要。更多信息请见底部。
我的问题:
我该如何做才能让当有人从我的网络外部输入 www.my_website.com 时,该 URL 仍保留在 URL 位置?现在,当有人连接到 www.my_website.com 时,它会将他们重定向到我的网站 - 这很好 - 但它会在 URL 中显示我的公共 IP 地址和端口号 11.22.33.123:55355,而不是 www.my_website.com。显然,出于多种原因,这并不可取。我该如何修复它以便在 URL 中显示我的域名?(如果不必安装其他软件包或在内部创建虚拟主机或绑定服务器等,我会喜欢它。)我希望该网站也可以从任何公共设备访问,提前致谢!!
如果问题 1 可以回答,那么我的下一个问题是:有没有一种相对简单的方法可以将我的网站 URL 变成我想要的任何内容?例如,当有人从我的网络之外输入 www.my_website.com 时,它会将他们带到完全相同的网站,但当页面加载时,url 名称会更改为我想要的任何内容,例如 www.my_customURL.com 或其他内容?我知道我不能将该 URL(www.my_customURL.com)设置为公共域名,而无需购买它(例如,如果有人搜索:www.my_customURL.com,它会显示其他人购买的域名或返回 null),但我的意思是仅针对应用层。任何想法都欢迎!
额外信息:
我安装了 ubuntu LAMP 服务器,设置了 filezilla 和 webmin,并完成了基于 html/css 的练习网站的设置。我已将其设置在 VirtualBox 环境中,并使用简化的网络适配器。我的网站的伪 IP 地址是:192.168.0.10:55355,我可以像往常一样从本地网络访问它。(即从我的 wifi 上的任何计算机)然后,我继续将我的网站 IP 端口转发,以便能够从我的网络/任何公共 wifi 之外的任何地方访问它。效果很好。然后,我从 domains.google.com 购买了一个域名,并能够将该域名附加到我的公共 IP 地址(整个互联网都可以看到该地址),然后将其端口转发到我的静态网站 IP 地址,然后显示我的 index.html 文件。例如,要从我的网络内部或外部访问我的网站,我可以输入:public_ip:port_number(11.22.33.123:55355)或输入:www.my_website.com
两者都很好用。但我希望显示域名作为 URL 或自定义 URL,而不是我的公共 IP 和端口号。
$ lynx lynx -head -dump http://www.my_website.com
HTTP/1.0 302 Found
Location: 11.22.33.123.:55355
Date: 23 Dec 2017 23:03:10 GMT
Content-Type: text/html; charset=UTF-8
Server: ghs
Content-Length: 222
X-XSS-Protection: 1; mode=block X-Frame-Options: SAMEORIGIN
答案1
my_website.com
您的网站显然是为将人们从重定向到 而设置的11.22.33.123.:55355
。
您必须设置您的 Web 服务器以响应my_website.com
。在 Apache 中,这是ServerName
指令。在其他 Web 服务器中,这是相同的想法,但配置行不同。这个答案提供了有关如何在 Apache 中设置 vhost 的一些信息。
您还必须设置您的 Web 服务器以监听端口 80,并从路由器将端口转发到您的 Web 服务器。此外,您可能需要提供动态 DNS 的服务,这样您就不必在每次公共 IP 更改时更新 DNS 记录。然后,您将购买的域名设置为指向您的动态 DNS 名称(通常由提供商提供)作为 -Record CNAME
。
您必须输入端口号的原因是 HTTP 默认使用端口 80,而 https 使用端口 443。它在其他端口上运行良好,但正如您所发现的,必须指定这一点。
我不知道 Google 的域名管理面板是怎样的,也不知道您在那里输入了什么。您可能在那里设置了某种 WWW 转发,但没有将其配置为 CNAME(指向另一个 DNS 名称)或 A(指向 IP 地址)记录。您确实希望 CNAME 记录指向动态 DNS 名称,或者 A 记录指向您的 IP 地址。
最后:不,您必须向注册商支付您的域名费用。
这只是简单介绍了一下这个话题,但我建议你仔细阅读一下我在这里提到的几件事。大部分内容在 Askubuntu 上的其他问答中都有很好的介绍,你可以通过搜索找到,如果有更具体的问题,我建议你问这些问题——因为这个问题涵盖了一个相当广泛的话题。