我家里有一个运行的 Django/Apache 服务器,目前我只能使用 IP 地址访问它。
抱歉,这听起来像新手,但是,如何配置 Apache/Ubuntu 家庭服务器,以便该网络上的所有设备都可以从更容易记住/愉快的域名访问该服务器(例如“http://MyHomeServer.com/“)?
这是否需要修改任何路由器设置,或者是否有办法纯粹从 Linux 服务器内部完成此操作?
谢谢。
答案1
查看 DNSmasq。
http://www.thekelleys.org.uk/dnsmasq/doc.html
它就像更改单个文件一样简单,并且会影响网络上的所有设备。
DNSmasq 是您网络的 DNS 服务器。它非常小,可以在 Raspberry Pi 上运行。
我确实建议购买您想要替换网站的域名。
看看这个,这里有一个关于如何做的很好的指南: 如何将 URL 重定向到自定义 IP 地址?
答案2
在大多数情况下,您实际上不需要对 Django 或 Apache 进行太多更改。您只需要更改 DNS、IP 地址和可能的端口转发。
首先,一个问题。您知道您的机器在网络内是否始终具有相同的地址吗?其次,您是否希望能够从互联网上的其他地方访问此站点(请注意,这样做意味着世界其他地方可以尝试访问您的 Django 项目并尝试利用它可能存在的任何漏洞。)第三,(如果您对问题 2 的回答是肯定的)您的公共 IP 地址是否会改变?(如果是这样,您可以做更多工作来设置动态 DNS 或向您的 ISP 支付费用以获取固定地址。如果您不知道这个问题,请访问 ipchicken.com,在那里记录地址,重新启动路由器/调制解调器,然后再次检查。是否相同?)第四(如果您对 #2 的回答是肯定的),您使用的是哪种路由器?
总体来说,您最终可能会想要购买域名。您可以在 godaddy.com 或 namecheap 或数百万其他竞争性域名提供商处购买。
然后,您需要为机器的 IP 地址添加 DNS 记录。对于 IPv4,这将是“A”记录类型;对于 IPv6,这将是“AAAA”记录类型(如果您足够幸运,可以拥有它)。如果您尝试从 IPv4 上的网络内部访问它,您将需要在 DNS 中使用内部网络地址。如果您希望能够从一般互联网访问它,我们需要使用 ipchicken.com 显示的地址进行设置并设置端口转发,然后如果您还希望能够从内部访问它,则可能需要在本地路由器上做一些额外的事情。因此,从内部访问它比从“互联网上的任何地方”访问它要容易得多。
希望这能很好地概述这些步骤。