我正在尝试创建一个基本的 Web 服务器。我正在运行 Ubuntu 12.04 桌面版。我已经安装了 LAMP 并设置了 html 文件,当我打开浏览器并导航到 192.168.1.95(我的服务器的静态内部 IP)或 192.168.2.2 时,Apache2 附带的修改后的 index.html 文件会出现在屏幕上。问题在于通过互联网而不是内联网进行连接。我使用手机(已禁用 WiFi)通过蜂窝网络连接,并将我的外部 IP 提供给朋友,并让他尝试打开该网站。然而,每次我们都会收到错误502 错误网关 - 响应错误,从另一个代理服务器或目标原始服务器收到了错误响应。
我要说的是,我已经禁用了路由器中的远程配置选项,所以这不是问题所在,而且我已经通过路由器转发了端口 80。是的,我很确定我做对了。事实上,为了测试路由器不是问题所在,我将服务器直接连接到没有内部路由器的调制解调器,但仍然出现相同的错误。谷歌搜索告诉我,我的 ISP(CenturyLink)没有阻止端口 80,并且其他使用相同 ISP 的人已经成功地在家中托管了自己的网站。显然,我对这个问题不太了解,但据我所知,我排除了服务器之外的所有原因,这意味着要么有什么东西在进入时阻止了端口 80,要么数据永远无法返回。我的问题是:
Ubuntu 中是否存在某些东西(防火墙等)可能导致此类错误?
我已经通过 UFW 启用、禁用和打开漏洞,但这并没有什么不同。我读过的一个教程指出 AppArmor 可能是一个问题,他们建议卸载它,所以我按照他们的说明操作,但我注意到 /etc/ 中仍然有一个 AppArmor 文件夹,所以我不确定都做了什么。如果您能提供任何其他信息,我将不胜感激。如果我忽略了一些显而易见的解决方案,我真的很抱歉打扰你们,但这并不是因为缺乏努力;过去两天里,我大部分时间都在研究这个问题……
另外,我不确定这是否有任何区别,或者这是否真的相关,但我遇到了与 SSH 相同的问题;我可以使用 username@local_IP 通过本地网络通过 SSH 进入该系统,但我无法让它通过非本地网络工作(是的,我意识到我需要的不仅仅是本地 IP)也许这有助于缩小问题范围,但同样,也许不是......
提前感谢您的时间和支持!!!
答案1
一旦您可以从本地网络连接到 HTTP/SSH,其余部分就完全超出了您的 Ubuntu 机器的控制范围 - 这绝对是路由器配置错误、您的 ISP 阻止端口、您尝试了错误的外部 IP 地址或其他原因。
502 错误表明您的请求经过了某种代理,这也可能会使问题复杂化。如果您无法访问服务器,则应该是连接超时,而不是某个代理的响应。