是否有不错的替代HTTP端口而不是端口80?


22

我一直在寻找一些有关将端口转发到端口80的替代方法的文档。我在家用路由器上有一台专用的Linux计算机,显然不能使用端口80。

是否有良好的备用HTTP端口?(或者,对于这种情况,我也愿意采取一些解决方法。)


HTTPS的端口443也被阻止了吗?最近强制HTTPS变得越来越流行,一种可靠的方法是关闭端口80。但是为什么不能选择80?如果你不是根用户,你不能绑定到1024以下任何事情
DKing

Answers:


15

许多ISP阻止端口80(HTTP)和端口25(SMTP)以及家庭用户的其他一些端口。通常,他们对此的回应是这些协议是“业务相关的”或类似的东西。我认为情况就是这样。

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

  1. 由于您省略了该协议,因此假定使用HTTP(http://superuser.com
  2. 由于您省略了端口,因此基于HTTP假设(http://superuser.com:80),它将假定端口为80。

由于端口80不是选项,因此您需要查找备用端口。没有官方的 HTTP备用端口。

如果将端口80用于一个地址/网络服务器,则将端口8080或8000用于同一地址/网络服务器上的另一站点是很常见的。这很可能是因为它们足够类似于80,很容易记住。我也看到面向外部站点的情况。

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


1
谢谢Keltari,我很感激。通过这篇文章,您实际上教了我很多,非常感谢。选择备用端口后,我接下来要研究的是要采取什么步骤(如果有的话)来确保可以被外部“世界”“发现”(例如,可以通过以下方式注意到我的小型网站:我要显示其网络工作证据的雇主)。
David

12
IANA将591、8008和8080定义为http_alt或HTTP Alternate。这几乎是官方的 ……
Calimo 2015年

List_of_TCP_and_UDP_port_numbers的Wikipedia条目(en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers)还指出:“范围49152–65535(215 + 214到216-1)包含无法向IANA注册的动态或私有端口。使用此范围。用于私人或定制服务或临时目的,以及临时端口的自动分配。” 因此,您也可以正式使用该范围内的任何端口,即49152–65535,尽管我不知道这些端口是否符合“良好”的替代要求。
david.barkhuizen

18

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

它们由IANA分配为“ HTTP备用”,这使它们与正式版本相当。

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

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

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


对于备用端口,您是否需要使用URL末尾的备用端口显式键入域?
cacoder

-1

正如这里其他人所说的那样,在端口80以外的任何端口上托管Web服务器基本上是没有意义的,除非您是在家中托管它。许多ISP限制出站TCP / UDP端口80和443(IANA分别定义为HTTPHTTPS),在这种情况下,使用这些端口会降低站点加载速度,等等。但是,IANA分配了3个HTTP-ALT端口用于TCP和UDP。它们分别是:591、8008和8080。使用这些端口也是可以接受的,但是您将使服务器管理员的生活变得井井有条。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.