開發與網路

Port 連接埠是什麼?同一台機器上的門號

Port(連接埠,也叫通訊埠)是一台電腦或伺服器上,用來區分不同服務的門號。一台伺服器可以同時提供很多服務,例如網站、資料庫、遠端連線,每個服務都會綁定一個獨立的 Port 號碼。用戶連線時,除了要知道伺服器的 IP 位址,還要指定正確的 Port,才能找到對應的服務,例如 HTTPS 網站服務常用 443、資料庫服務常用特定的固定號碼。連錯 Port 或 Port 沒開放,都會導致連線失敗。
Port 連接埠是什麼?同一台機器上的門號:文章重點卡

Port 連接埠是什麼?同一台機器上的門號

同一棟大樓裡有很多樓層,各自提供不同服務,找對服務要先知道正確的樓層。

伺服器也一樣,一台機器同時跑好幾個服務,Port 就是分辨要找哪一個的房號。

你將學到什麼

定義

同一台伺服器上,用來區分不同服務的房號,連線時要指定正確的 Port。

白話比喻

IP 地址是大樓地址,Port 是房號,指定對的房號才能找到對應服務。

跟誰容易搞混

常跟 IP Address 搞混。IP 是找到哪一棟大樓,Port 是找到哪一個房間。

定義

Port 是一台伺服器上用來區分不同服務的房號,用戶連線時必須知道要連到哪一個房號,才能找到對應的服務。一句話重點:IP 地址是大樓地址,Port 是房號,通訊協定則是說話的語言規則。

常見的 Port 與服務對照包括遠端登入管理伺服器、一般網站服務、加密網站服務、資料庫服務、快取資料庫等,每一種服務通常都有一個大家習慣使用的號碼,方便辨識。

白話比喻

想像伺服器是一棟大樓:一樓是遠端管理入口,二樓是資料庫服務,三樓是一般網站服務,四樓是加密網站服務。用戶想要什麼服務,就連到對應的樓層房號,伺服器大樓的門房會依房號把請求轉交給正確的服務。

連線是怎麼運作的

用戶連線時必須指定「目標 IP 加目標 Port」,伺服器才知道要把請求交給哪個服務。例如瀏覽器輸入加密網址,預設會連到加密網站服務的 Port;輸入未加密網址,則預設連到一般網站服務的 Port。

常見的連線問題

  • Port 衝突:這個房號已經被別的服務占用,導致新服務啟動失敗
  • Port 沒開放:防火牆沒開這個房號的門,外部連不進來
  • 連錯 Port:敲錯房號,當然找不到服務
  • 本機測試綁定問題:服務只綁定在本機位址,外部裝置連不進來
常見誤解

最常見的誤解是以為網址能打開,服務就一定沒問題。實際上開發與Deploy 部署時常見的坑,多半是防火牆或安全群組規則沒開對 Port,記得檢查允許清單。

本文源起本文內容出自酒Ann 的「AI 實戰陪跑班」課程教材,由酒Ann 編寫成彙編條目。想系統性搞懂 AI 名詞,歡迎追蹤 酒Ann 的 Facebook

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

Port 跟 IP Address 差在哪?
<a href="/blog/glossary-ip-address">IP Address</a> 是找到哪一台伺服器,相當於大樓的地址;Port 是找到那台伺服器上的哪一個服務,相當於房號。連線時必須同時指定 IP 加 Port,伺服器才知道要把請求交給哪個服務處理。
為什麼開發時常常遇到 Port 衝突?
因為同一個 Port 號碼在同一台機器上同時只能被一個服務占用。如果要啟動的服務想用的 Port 已經被別的程式占用,就會出現連接埠已被使用的錯誤,這時候換一個 Port 或關掉占用的程式就能解決。
Localhost 加 Port 是什麼意思?
<a href="/blog/glossary-localhost">Localhost</a> 代表連回自己這台機器,加上 Port 號碼就是指定要連到本機上哪一個正在運行的服務,例如本機測試網站常見綁定在特定的開發用 Port 上。