Как работает два номера портов одновременно? - PullRequest
2 голосов
/ 14 октября 2019

Теперь я очень запутался в том, как на самом деле работают порты. Это мое понимание портов. Я знаю, что порт 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, либо для углового приложения, и они являются конечными точками HTTP, и я получаю доступ к http://localhost:someportNumber (пример: http://localhost:5000), как это переводится на порт, как я явно указал порт 5000, но HTTP работает на порт 80.

Не могли бы вы помочь мне с моим пониманием того, как работают порты. До сих пор мне было ясно, как работают порты, но теперь, когда я думаю об этом сегодня, это бросает вызов моему пониманию портов.

Я столкнулся с этим конфликтом понимания, когда я узнал об услугах в GoogleДвигатель Кубернетеса. Там я создал сервис типа нодпорт, который имел такие настройки, как

port: 443
targetPort: 443
nodePort: 31000

, и когда я получил доступ к внешнему IP-адресу одного из узлов https://[external-ip]:31000, он работал.

Так что яЯ начал оспаривать мое понимание, и я не могу понять, как это работает.

PS: - Дело не в концепции NodePort / ClusterIP / LoadBalancer. Но в целом о том, как эти порты работают с протоколом http или https, с портом приложения.

Ответы [ 2 ]

3 голосов
/ 14 октября 2019

В старые времена никто не звонил человеку в компанию напрямую. Вместо этого можно было бы позвонить в главный коммутатор компании и попросить человека на добавочный номер.

Оператор: Чем я могу вам помочь? Вы: добавочный номер 123 Оператор: соединяет вас сейчас

Думайте о «порте» как о расширении в компании. Имя хоста / IP-адрес - это телефонный номер компании, а порт - добавочный номер в этой компании.

Возвращаясь к аналогии, после подключения к добавочному номеру телефона у вас будет разговор. Обе стороны ожидают продолжения разговора. Например, если я позвоню по добавочному номеру, соответствующему продажам, я могу разместить заказ, а если позвоню по добавочному номеру, соответствующему набору, я могу отправить свое резюме. Эта связь между назначением вызова и расширением является условной и не подразумевается в самом расширении.

Когда вы формируете соединение через Интернет с какой-либо машиной в порту 80, предполагается, что мы будемобмениваться HTTP-трафиком. Однако если я создаю соединение с какой-либо машиной через порт 5000, то ничто не мешает этому соединению также отправлять и получать HTTP-трафик. Например, если по продажам в моей компании можно связаться по добавочному номеру 80, и вы можете разместить заказ, может также появиться дополнительный добавочный номер (5000), по которому можно позвонить, чтобы разместить другие типы заказов, которые недоступны по добавочному номеру 80.

См. Также:

http://www.steves -internet-guide.com / tcpip-ports-sockets /

3 голосов
/ 14 октября 2019

Вы можете указать любой порт (например, 5000 в вашем примере). URI просто начинается с http, чтобы указать, какой протокол используется - он не требует использования порта 80. Затем адрес 1005 * используется для связи с хостом на указанном порту. (это будет порт 80, если не указан другой порт). После успешного подключения клиент ожидает, что сервер будет говорить по HTTP.

На стороне сервера есть только программа, которая прослушивает порт и ожидает входящих соединений.

...