设置 apache2 网络服务器——内部网络和外部网络的行为差异

设置 apache2 网络服务器——内部网络和外部网络的行为差异

我是 apache2 新手。我家里有一台 ubuntu 12.04.4 LTS 机器,刚刚在上面安装了 apache2。我想设置一个在端口 80 以外的端口上运行的 Web 服务器(我的路由器使用端口 80)。以下是我所做的:

  1. 更改了开头的一些/etc/apache2/ports.conf

    NameVirtualHost *:80
    Listen 80
    

    NameVirtualHost *:8041
    Listen 8041
    
  2. 改变了第一/etc/apache2/sites-available/default

    <VirtualHost *:80>
    

    <VirtualHost *:8041>
    
  3. 重新启动 apache2

我的 ubuntu 机器的本地 IP 地址是 192.168.1.133,如果我将 Web 浏览器指向我家内联网上的任何计算机,http://192.168.1.133:8041我都会得到标准的 apache2“它起作用了!”网页。我还设置了路由器,将端口 8041 上的任何传入 TCP 数据包转发到 ubuntu 机器(仍然在端口 8041 上)。

假设我的 ISP 为我提供了 IP 地址 123.456.78.90。如果我在内部网之外,并且我将 Web 浏览器指向,则http://123.456.78.90:8041它再次正常工作。

但是,在我的内联网中(在 ubuntu 机器本身上或在内联网上的其他机器上),当我将 Web 浏览器指向时,http://123.456.78.90:8041出现“无法连接”错误。

我该怎么做?我现在不清楚这是否是我的 Apache 设置或路由器的问题。不幸的是,我现在意识到这可能不是 Ubuntu 的问题 :-/

答案1

上述问题实际上是预期的行为。我需要将我的路由器升级为支持“环回 NAT”(又称“发夹 NAT”)的路由器。请参阅这里例如。

相关内容