无法从网络外部访问我的 ubuntu 16

无法从网络外部访问我的 ubuntu 16

我搜索了整个互联网,但无法解决我的问题。我总是找到涉及端口转发的帖子,但我认为这根本不是我的问题。

我有一台 Macbook Pro,里面安装了 ampps 服务器,我的网站运行良好。我可以在网络内部或外部毫无问题地连接到它。

我有另一台运行 Ubuntu 的笔记本电脑,其中安装了 openSSH、apache2、mysql 和 php。我可以从我的网络毫无问题地访问它,但从外部我无法连接。

在两者上,我都使用端口 80。

另外,我检查了多个允许您查看端口是否已转发的网站,但它们都说我的端口未转发,即使我的 ampps 服务器运行正常。

答案1

问题在于您在两台服务器上都使用了端口 80,并且路由器上的端口 80 被转发到了您的 macbook pro。

您有以下选择:

  1. 获取另一个公共 IP 地址并将您的 ubuntu 服务器放在新的子网中,并将端口 80 转发到您的 ubuntu 服务器

  2. 将 macbook pro 和 ubuntu machine 站点合并到一个服务器安装中。您可以配置 Web 服务器 Apache,使其响应您现在使用的同一 IP 地址上的两个域名。Apache 将对地址栏中输入的域做出反应,并使用相应的站点进行响应。在这种情况下,您需要将端口 80 转发到新的组合服务器。

  3. 对于 ubuntu 服务器,请使用另一个端口 - 例如 8080,并将此端口转发到您的 ubuntu 机器。您还可以将外部端口 8080 转发到您的 ubuntu 服务器的端口 80。外部端口 80 将转发到您的 MacBook Pro 的端口 80。

  4. 将端口 80 转发到您的 ubuntu 服务器,并在 Apache 中为第二个域设置反向代理,它会将对 macbook 站点的请求转发到您的 macbook pro。

问题在于这些网站是否对所有人都开放,还是只供您使用。对于公开的网站,您必须选择选项 1、选项 2 或选项 4,对于您访问的网站,选项 3 是最可行的。

答案2

要从外部网络连接,您必须使用公共 IP。如果您使用本地 IP 地址(如 192.168.xx.xx),它将在本地网络内正常工作,但如果您从网络外部访问它,请使用公共 IP。

相关内容