我是 apache2 新手。我家里有一台 ubuntu 12.04.4 LTS 机器,刚刚在上面安装了 apache2。我想设置一个在端口 80 以外的端口上运行的 Web 服务器(我的路由器使用端口 80)。以下是我所做的:
更改了开头的一些
/etc/apache2/ports.conf
行NameVirtualHost *:80 Listen 80
到
NameVirtualHost *:8041 Listen 8041
改变了第一
/etc/apache2/sites-available/default
行<VirtualHost *:80>
到
<VirtualHost *:8041>
重新启动 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”)的路由器。请参阅这里例如。