除了端口 80 之外,还有其他好的替代 HTTP 端口吗?

除了端口 80 之外,还有其他好的替代 HTTP 端口吗?

我一直在寻找有关端口转发到端口 80 的替代方案的一些文档。我在家用路由器上有一台专用的 Linux 机器,显然使用端口 80 不是一个选择。

是否有好的替代 HTTP 端口?(或者,我也愿意尝试一些针对这种情况的解决方法。)

答案1

许多 ISP 会阻止端口 80 (HTTP) 和端口 25 (SMTP),以及一些其他端口供家庭用户使用。通常,他们对此的回应是这些协议“与业务相关”或类似的说法。我想你的情况也是如此。

端口 80 是HTTP 标准。当您superuser.com在浏览器的地址栏中输入时,它会假设两件事:

  1. 由于您忽略了协议,因此它假定 HTTP (http://superuser.com
  2. 由于您没有输入端口,因此根据 HTTP 假设,它假定端口为 80(http://superuser.com:80

由于端口 80 不是一个选项,您需要找到一个替代端口。没有官方的HTTP 备用端口。

当一个地址/网络服务器使用端口 80 时,对同一地址/网络服务器上的另一个站点使用端口 8080 或 8000 是很常见的。这很可能是因为它们与 80 非常相似,容易记住。我也见过外部网站也这样做。

或者,你可以使用任何你想要的端口。请参阅此列表标准和非官方端口。如果您不打算使用 telnet 连接到您的 Linux 计算机,您可以在端口 23 上运行它。在 Web 浏览器中,您只需键入domain.com:23

答案2

实际上有 3 个 HTTP 备用端口:591、8008 和 8080。

它们被 IANA 指定为“HTTP 替代方案”,这使得它们几乎成为官方的。

如果您以非特权用户(非 root)身份运行 Linux,则可以监听 1024 以上的任何端口,因此 8008 和 8080 是不错的选择。然后,要从浏览器访问服务器,您需要在 URL 中指定端口,例如http://localhost:8080

您还可以使用 49152 至 65535 范围内的端口。它们被标记为“动态端口”并且永远不会被 IANA 分配,但正因为如此,它们可能已被其他软件使用。这意味着您不能相信某个端口在任何给定时间都可供您使用,并且每次想要使用该端口时都必须检查端口的可用性。

请注意,端口 8000 有时用于 HTTP,但IANA 将其分配给 iRDMI(英特尔远程桌面管理接口)。虽然这在私人环境中不太可能成为问题,但最好不要将其用于 HTTP,因为有更好的替代方案可用。

答案3

正如这里的其他人所说的那样,在端口 80 以外的任何端口上托管 Web 服务器基本上是没有意义的……除非您在家中托管它。许多 ISP 限制出站 TCP/UDP 端口 80 和 443(互联网号码分配机构定义为HTTPHTTPS),在这种情况下,使用这些端口将降低网站加载速度等。但是,互联网号码分配机构已分配 3HTTP 高级测试TCP 和 UDP 端口。这些端口是:591、8008 和 8080。使用这些端口也是可以接受的,但这样会让服务器管理员的日子不好过。

端口号来源:https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml

相关内容