通过家庭 DSL 线路为多个网站提供服务

通过家庭 DSL 线路为多个网站提供服务

我对运行自己的服务器完全是菜鸟,我想安装 3 个不同的网站,通过我家里的 Mythbuntu 14.04 系统提供服务。不过,我想要做的并不是真正公开访问,而是只有我和一小群其他人可以访问。但是,我希望这些网站是公开可访问的,也就是说,我可以从家庭网络之外的任何地方访问它们。但是,我不想为它们租用域名,而只是通过 IP 地址访问它们。

我的问题是:公共 IP 地址如何?我需要拥有与我想要托管的站点数量一样多的 IP 地址吗?我有一个普通的家庭 DSL 互联网连接,我认为我的 ISP 可能只会给我一个动态 IP 地址 - 但我仍然需要验证,它也可能是静态的。简而言之,是否可以通过此基础设施在同一台机器上托管三个可从外部访问的站点,或者我需要与我的 ISP 安排不同的设置?

编辑:感谢您的回答,但我不确定我是否已经弄清楚了:

似乎如果我有静态 IP,就不需要 DynDNS 服务,对吗?似乎我实际上可能需要,但我向我的 ISP 发送了电子邮件以确认(编辑:不是,它是动态的)。

检查路由器的控制面板,我找不到合适的端口管理界面。这个路由器实际上属于 ISP,它是 Technicolor Gateway TG788A1vn。

它有一个用于管理防火墙设置的面板,其中只有三个预设的安全级别,基本上这就是管理防火墙的方法!

防火墙设置

此外,我可以“分配”应用程序,

应用程序分配。此图中的“hermann”是我的服务器箱

我认为路由器管理相应的端口,但我不确定“分配” https 服务器是否意味着它可以通过端口 80 进行通信。您认为这就是该面板的功能吗?

关于域名与仅 IP,我其实并不反对使用域名(尽管仅 IP 可能具有一点安全优势?),我只是不想额外付费。我不知道有免费域名可用,所以知道这点很好!:-)

答案1

我的建议如下:

  1. 获取静态 IP 地址(说实话,这容易多了)。我假设(从现在开始)您已经打开了端口 80。

  2. 注册一个 TLD(顶级域名)- 有免费的,例如freenom.com

    1. 单击注册新域名在此处输入图片描述

    2. 选择您想要的域名,点击搜索多个 TLD,然后选择顶行。点击检查可用性。在此处输入图片描述

    3. 选择您想要的一个,单击时间量,然后立即订购。在此处输入图片描述

    4. 填写字段(100%免费)在此处输入图片描述

    5. 您将被送回主页。转到您的域名...在此处输入图片描述

    6. 单击管理域。在此处输入图片描述

    7. 点击管理工具,然后点击 URL 转发。将其转发到随机网站(例如http://google.com在此处输入图片描述在此处输入图片描述

    已注册!

  3. 现在来看看 DNS

    注册自由域名系统,然后添加您的域名。步骤如下:

    1. 注册(免费),然后单击侧面的“域名”

    2. 点击添加域名在此处输入图片描述

    3. 输入域,然后查看突出显示的部分。我们必须返回 freenom 才能完成此操作。在此处输入图片描述

    4. 再次进入管理域,并选择管理此域。在此处输入图片描述 在此处输入图片描述

    5. 选择管理 Freenom DNS在此处输入图片描述

    6. 选择使用此服务之前,请单击此处激活 Freenom 默认名称服务器。在此处输入图片描述

    7. 最后,在字段中输入以下内容:

      在此处输入图片描述

      NS1.AFRAID.ORG
      NS2.AFRAID.ORG
      NS3.AFRAID.ORG
      NS4.AFRAID.ORG

    8. 返回 Free-DNS 并单击提交在此处输入图片描述

    9. 忽略警告,只需单击子域。在此处输入图片描述

    10. 单击添加在此处输入图片描述

    11. 输入相关详细信息,然后单击“保存”。对其他子域重复此操作。在此处输入图片描述

    12. 输入您的域名并点击跟踪。这可以加快开始工作所需的时间。在此处输入图片描述

    13. 等待更改在互联网上传播 - 对我来说大约需要 24 小时。我观看了有趣的猫视频在此处输入图片描述

  4. 现在我们必须设置 apache。

    1. 在根目录中创建 3 个文件夹 ( /var/www/html),并为其指定合理的名称。每个文件夹中都需要一个index.html文件(或者无论您对游戏设置做什么,只需将其分成 3 个即可)。

    2. 使用此命令在 gedit 中打开该文件:

      sudo gedit /etc/apache2/sites-enabled/000-default.conf
      
    3. 在末尾添加以下几行。我将其放在了# vim: syntax=apache ts=4 sw=4 sts=4 sr noet行的上方,但这与我所知道的并没有什么不同。

      <VirtualHost *:80>
          DocumentRoot "/var/www/html/game1"   #Edit this line to have the correct folder name
          ServerName game1.mynametestdomain.tk #Edit this line to have the correct subdomain name
      </VirtualHost>
      
      <VirtualHost *:80>
          DocumentRoot "/var/www/html/game2"   #Edit this line to have the correct folder name
          ServerName game2.mynametestdomain.tk #Edit this line to have the correct subdomain name
      </VirtualHost>
      
      <VirtualHost *:80>
          DocumentRoot "/var/www/html/game3"   #Edit this line to have the correct folder name
          ServerName game3.mynametestdomain.tk #Edit this line to have the correct subdomain name
      </VirtualHost>
      
    4. 使用以下命令重启 Apache

      sudo service apache2 restart
      

确保一切正常(正如我所说,可能需要 24 小时以上的时间来完成一切设置)。

  1. 最后,在根目录中设置一个index.html包含指向其他页面的链接 - 以防他们访问您的 IP 地址。

答案2

你绝对可以做到,而且一点也不难。我曾经兼职为一些小企业做网站编程,我的家庭服务器上有几个网站用于展示正在进行的工作。我曾经(现在仍然在使用)动态DNS,我每年支付 25 美元。正如其他人提到的,有免费服务,但都需要一定的手续才能使用。我个人觉得我支付的费用不足以让我担心。当我注册时,他们提供免费服务,但我不知道他们现在是否还提供免费服务。

DynDNS 的做法是,您可以注册任意数量的名称,这些名称由他们选择。例如,他们有一个名为 homelinux.net 的名称;然后您可以注册一个名称,如“Bennypr0fane.homelinux.net”,它将被路由到您当前的 IP 地址,您可以通过定期运行更新客户端来维护该 IP 地址(他们提供有关如何执行此操作的帮助,甚至为 Ubuntu 提供客户端)。

然后,您运行一个 Web 服务器,例如 Apache,它有一个以该名称运行的虚拟站点。您可以让其他站点以其他名称运行,或者让其他服务器以其他端口运行。我可以通过 Caibre 服务器访问我的电子书库,还可以访问网站。您需要告诉路由器需要访问的每个端口。

答案3

是的,当然,在公网上开放端口要小心,但是如果你想做,你可以做到。

您可以在同一个公共 IP 上使用三个不同的端口,并使用以下命令访问这些站点:

    http://ip:port/

你应该将路由器配置为转发和 nat 到内部静态 IP,其中 apache 使用三个不同的虚拟主机

显然,每次重新启动路由器时,公共 IP 地址都会改变,因此,如果伊拉尔索纳'答案甚至更好马蒂·弗里德' 答案满足您的需求,那么您应该遵循它。

答案4

在任何情况下,我都不建议您只使用 IP 地址。它们总是在变化。

这个问题更多地与您的路由器的配置有关,而不是 Ubuntu 的实际配置。在您的路由器上,您需要确保端口 80 已打开。向外部互联网开放端口始终存在风险……请记住这一点。

我还建议您投资或搜索动态 DNS 更新客户端。我有一个 No-IP 客户端,但我发现它真的很烦人,因为您必须每 30 天登录一次。不过,他们给了我一个更友好的主机名(如 ilarsona.ddns.net)。

理论上,对于多个网站,您需要使用的(假设您使用 No-IP)就是 yournamehere.ddns.net/website。

- 更多详情 -

动态 DNS 通常不会由您的 ISP 提供给您。事实上,它旨在绕过 ISP 的限制。静态 IP 地址很昂贵,而动态 DNS 服务会使用非静态ip 地址并根据该地址创建主机名。它大约每 30 分钟记录一次并将指针改回您的真实 IP 地址。

路由器的问题是,它想保护您免受外部互联网世界的干扰,但它没有意识到您实际上认为它妨碍了您。如果没有路由器配置,仅使用公共 IP 地址是行不通的。因此,您需要在路由器上打开端口 80 以接收传入流量,最好只打开到您的服务器的端口,以便服务器可以完成其工作。

我还发现浏览器经常会混淆

    http://124.466.98.90 

(或类似的东西)这就是为什么

   http://yourname.ddns.net

会更有帮助。动态 IP 会帮你处理所有辛苦的工作。

相关内容