我是 Ubuntu Server 的新用户,我需要一些帮助来进行设置。
我正在使用 Ubuntu Server 12.04 64 位。
这是我的主要问题:如何设置 Ubuntu 服务器来托管一个可以从我自己的网络以外的网络访问的网站?
我已经看过和阅读了多个关于如何设置 Ubuntu Server 的教程,但它们都向您展示了如何将其设置为在 LAN 上托管网站。在我见过的设置过程中,只使用了标准分配的 IP 地址,例如 192.168.0.180...这些过程适用于在 LAN 上托管...但是,如果我离开我的 LAN,则可能无法通过输入 IP 地址 192.168.0.180:xxxx 来查看托管的网站...
运行服务器的计算机连接到我的家庭网络的路由器。
如何配置 Ubuntu Server 以使其托管的网站可从其他外部网络看到?
如果有人可以告诉我我遗漏了什么,或者给我提供关于这方面的好的教程,我将非常感激。
任何意见是极大的赞赏。
答案1
几乎与 Ubuntu 完全无关,但你看......
使用路由器将端口 80 转发到 Ubuntu 的内部 IP,然后本指南。
告诉 Ubuntu 解除对端口 80 的阻止(可能不需要):
sudo ufw allow tcp/80
此时,您网络之外的人员应该能够将您的 IP 输入他们的浏览器中并查看该网站。由于路由器的路由限制,这在内部无法工作所以不要认为这是错误。用网络外的东西来测试。
为了获得加分(并且如果你的合法 IP 是动态的):
使用类似的服务动态域名系统将域名指向你的 IP
使用短 TTL 将真实域名 CNAME 到您的 DynDNS 名称上。
确保 Apache 配置需要这些域(或者您使用通配符/默认主机)
将您的
/etc/hosts
DNS 设置为快捷方式,以便它看起来是本地的而不是您的合法 IP:127.0.0.1 mydomain.com
如果您的 ISP 为您分配了一个真正静态的 IP(一些住宅 ISP 仍然这样做),您只需使用长 TTL 将您的域名指向它即可。
答案2
找到您拥有的路由器类型,然后转到其 IP。菜单中应该有“端口转发”或“虚拟防火墙”之类的内容。单击它,然后(假设您使用 Apache)将端口 80 转发到您的服务器的 IP。
应该管用。