由于基础结构的限制,为世界提供HTTP服务的建议解决方案之一是通过端口8080和8443提供该服务。
我担心的是,某些用户可能无法访问这些服务,因为它们不在标准端口上运行,并且内容可能被(例如)作为公司网络策略的一部分进行了过滤。
那么...整个互联网上的用户可能无法访问这些服务的可能性有多大?
80
或443
可能暗示您正在共享服务器上运行这一事实。如果是这样,则有可能如果您的端口停止工作,则另一个用户可以绑定到这些端口。然后,该用户可以冒充您的网站(尽管SSL可以缓解这种情况)。
由于基础结构的限制,为世界提供HTTP服务的建议解决方案之一是通过端口8080和8443提供该服务。
我担心的是,某些用户可能无法访问这些服务,因为它们不在标准端口上运行,并且内容可能被(例如)作为公司网络策略的一部分进行了过滤。
那么...整个互联网上的用户可能无法访问这些服务的可能性有多大?
80
或443
可能暗示您正在共享服务器上运行这一事实。如果是这样,则有可能如果您的端口停止工作,则另一个用户可以绑定到这些端口。然后,该用户可以冒充您的网站(尽管SSL可以缓解这种情况)。
Answers:
公司网络通常默认使用以下规则:
deny all; allow 80; allow 443; allow 21; allow 22; etc...
用这种方法配置要比显式地拒绝65,535个可用端口中的99%容易得多。
话虽如此,我接管了一个面向客户的门户,该门户由于网络限制而使用了非标准端口。我不知道NAT详细信息。无论如何,这使大约50%的用户/访问者无法访问该站点,并且每当他们致电给我们报告此问题时,我们都必须与他们不存在的IT部门进行协调,以尝试实施允许规则。
我不知道您的基础架构限制的详细信息,但我可以想象在80/443上还有其他运行
如果是这种情况,那么您唯一的选择就是使用内部代理或将交换机升级到具有更高级NAT功能的设备,这些功能可以适当地路由请求。
TL; DR
对于已经具有标准端口的面向公众的服务,请勿使用非标准端口。
这些很有可能会被阻止,尤其是在公司网络或公共wifi中。不太可能通过常规家庭互联网连接。
它肯定会在我的工作网络上被阻止。
此外,人们还必须记住键入端口号才能访问您的站点,这是您不想处理的额外麻烦。对于内部站点或私有站点而言,这不是一个大问题,但是如果这是对普通公众而言,则使用标准端口将获得更大的成功。
让您的浏览器命中http://example.com:8080/index.html并不难,但是当您谈论阻止非标准端口的公司策略时,这似乎非常困难。
如果设置了某种负载均衡,则仍可以将应用程序设置为在标准端口上运行,并使负载均衡器端口在内部转发到奇数端口。即使您没有负载平衡,我相信您也可以找到一种方法来转发到非标准内部端口。
在内部,用户可以访问奇数端口(如果不是您要阻止的公司策略的一部分),在外部,用户可以访问http://example.com。
有很多方法可以做到这一点,您必须根据遇到的障碍种类来获得一些创意。它总是一个挑战!