设置apache2 webserver – 我的Intranet和外部行为之间的差异

我是apache2的新手。 我家里有一台ubuntu 12.04.4 LTS机器,刚安装了apache2。 我想建立一个在端口80以外的端口上运行的网络服务器(我的路由器使用端口80)。 这是我做的:

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

     NameVirtualHost *:80 Listen 80 

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

      

      
  3. 重启apache2

我的ubuntu机器有本地IP地址192.168.1.133,如果我将网页浏览器指向http://192.168.1.133:8041 ,我家内联网上的任何一台计算机都可以获得标准的apache2“它有效!” 网页。 我还设置了我的路由器,将端口8041上的任何传入TCP数据包移植到ubuntu机器上(仍在端口8041上)。

假设我的ISP给了我IP地址123.456.78.90。 如果我在我的内部网之外,我将网页浏览器指向http://123.456.78.90:8041那么它再次起作用。

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

我从哪里去? 我现在还不清楚这是我的apache设置还是我的路由器的问题。 我现在很遗憾地意识到它可能不是关于Ubuntu的问题: – /

上述问题实际上是预期的行为。 我需要将我的路由器升级到支持“loopback NAT”又称“发夹nat”的路由器。 见这里的例子。