由于基础设施的限制,为世界提供HTTP服务的提议解决scheme之一是通过端口8080和8443提供。
我担心的是,有些用户可能无法访问这些服务,因为它们没有在标准端口上运行,并且内容可能会被(例如)作为公司networking策略的一部分进行过滤。
那么……来自互联网的用户可能无法访问这些服务的可能性有多大?
企业networking通常会被默认为这样的规则:
deny all; allow 80; allow 443; allow 21; allow 22; etc...
configuration这种方式要容易得多,而不是明确拒绝65,535个可用端口中的99%。
据说,由于networking的限制,我接手了一个使用非标准端口的面向客户的门户; 我不知道NAT的细节。 无论如何,这使得我们大约50%的用户/访问者无法访问网站,只要他们打电话给我们报告这个问题,我们就不得不与他们不存在的IT协调,试图获得一个允许执行的规则。
我不知道你的基础设施限制的细节,但我会想象其他东西在80/443上运行
如果是这种情况,那么你唯一的可能就是使用内部代理,或者将交换机升级到更高级的NATfunction,这些function可以适当地路由请求。
TL; DR
对于已经具有标准端口的面向公众的服务,不要使用非标准端口。
这很可能会被阻止,特别是在企业networking或公共WiFi上。 常规家庭互联网连接的可能性较小。
我的工作networking肯定会被阻止。
另外,人们必须记住input端口号才能访问您的站点,这是您不想处理的额外头痛。 对于内部或私人网站来说,这不是一个大问题,但是如果这是针对大众的话,使用标准端口将会获得更多的成功。
http://example.com:8080/index.html不是很难让你的浏览器命中,但是当你谈论阻止非标准端口的企业策略时,似乎很难。
如果您设置了某种负载平衡,您仍然可以将您的应用程序设置为在标准端口上运行,并使负载平衡器端口在内部转发到奇数端口。 即使你没有负载平衡,我相信你可以find一种方法来转移到一个非标准的内部端口。
在内部,用户可以访问一个奇怪的端口(如果不是您的公司政策的一部分来阻止),外部他们看到http://example.com 。
有很多方法可以做到这一点,你需要根据你遇到的障碍types来获得一点创意。 它总是一个挑战!