现在我对端口的实际工作方式感到非常困惑,这是我对端口的理解。我知道80端口是用于HTTP协议的,443端口是用于HTTPS协议的,所以每当我访问时http://website.com [(name or ip)]
,它都会被转换为http://website.com:80 [(name or ip)]
,当我访问时https://website.com [(name or ip)]
,它会被转换为https://website.com:443 [(name or ip)]
。
所以,如果我在另一个端口上访问一个网站,即我有我的 springboot 或 angular 应用程序的本地设置,它们是 HTTP 端点,我访问http://localhost:someportNumber
(例如:),它是http://localhost:5000
如何转换为端口的,因为我已明确指定端口 5000,但 HTTP 在端口 80 上工作。
您能否帮助我了解端口的工作原理。直到现在我都清楚端口是如何工作的,但现在当我今天这样想的时候,它挑战了我对端口的理解。
在学习 Google Kubernetes Engine 上的服务时,我遇到了这种理解冲突。在那里,我创建了一个 nodeport 类型的服务,它的配置如下
port: 443
targetPort: 443
nodePort: 31000
当我访问其中一个节点的外部 IP 地址时https://[external-ip]:31000
,它起作用了。
所以我开始挑战我的理解,我无法理解它是如何工作的。
PS:- 这与 NodePort/ClusterIP/LoadBalancer 的概念无关。但总的来说,这些端口如何与协议端口 http 或 https 以及应用程序端口一起工作。