我们有一个人类用户无法访问的网络服务。即仅通过:
- 来自浏览器的 Javascript
- 移动应用程序(iPhone 和 Android)
- 其他服务器
问题:可以为此使用一些自定义端口(如 8080)还是我们应该只使用 80 端口(因此 URL 不会包含端口号)。
优缺点都有什么?是否有任何原因导致无法接受带有自定义端口的选项?
如果您的某些客户端位于防火墙后面,他们可能有限制访问“非标准端口”的策略,包括端口 8080。除此之外,我认为在端口 8080 上运行 Web 服务端点没有任何缺点。专业人士是如果您想在同一台机器上运行常规 Web 服务器,您可以为其分配端口 80,而不会发生冲突。
将服务移动到另一个端口并不会增加您的安全风险,而不是将其放在原始端口上。在 8080 端口上运行不会影响任何移动设备,只要它们的 ISP 不阻止该端口即可。
不在默认端口上使用它的一个优点是它不太可能获得不需要的流量。
您可以做的一件事是设置自己的防火墙或路由器,将发送到特定 url 的流量路由到应用服务器上设置的自定义端口,这样只有特定于您运行的服务的请求才会命中它。