通訊最終是要訪問程序,那麼ip是訪問一台機器的位址,埠則是訪問程序的標識,比如ip是乙個大樓的位址,埠則是具體的門牌號,乙個門牌號對應的房屋只能由1個程序占領。
乙個程序可以build多個埠號,乙個埠號不能被多個程序繫結,乙個程序繫結埠後,fork乙個子程序,這個子程序可以訪問這個埠。
一些常用埠
22:shh遠端登陸協議
80:http,用於網頁瀏覽,也就是web埠
比如我們將乙個war包部署到在伺服器中的tomcat上,tomcat預設使用埠8080,正常情況我們通過,伺服器id:埠/war包名來訪問war包中的內容。 tomca預設服務埠是8080,所以我們通過www.***x.com:8080/war包名來訪問。如果不加8080那麼就是預設使用80埠,例如輸入www.***x.com,實際則是www.***x.com:80。
我們可以通過nginx**來實現埠對映,從80埠對映到8080埠,以此達到不輸入8080,只輸入網域名稱的目的。比如我們輸入www.***x.com,通過nginx**,實際則是www.***x.com:8080。
tomcat中的配置檔案在 tomcat\conf\service.xml下,service.xml中的一些配置
<serverport="8005" shutdown="shutdown" debug="0"> service是一組connector的集合 它們共用乙個engine來處理所有connector收到的請求
//在埠8005處等待關閉命令*** 如果接受到"shutdown"字串則關閉伺服器
port="8080" //在埠號8080處偵聽來自的瀏覽器http請求
minprocessors="5" //該connector先建立5個執行緒等待客戶請求,每個請求由乙個執行緒負責
maxprocessors="75" //當現有的執行緒不夠服務客戶請求時,若執行緒總數不足75個,則建立新執行緒來處理請求,到75個為客戶請求排隊
acceptcount="100" //當佇列中請求數超過100時,後來的請求返回connection refused錯誤
enablelookups="true"
redirectport="8443" //當客戶請求是https時,把該請求**到埠8443去
debug="0"
connectiontimeout="20000"
useurivalidationhack="false"
disableuploadtimeout="true" />
<enginename="standalone" defaulthost="localhost" debug="0"> engine用來處理connector收到的http請求,它將匹配請求和自己的虛擬主機,並把請求轉交給對應的host來處理 預設虛擬主機是localhost
埠對映 配置ssh埠對映
此手段用於在單向連通網路中進行雙向網路打穿 適用於未配埠對映的docker容器,不能反向訪問的受限網路等 在封閉網路內伺服器 容器執行以下命令,結果可以使目標伺服器通過訪問封閉網路內伺服器 容器的 ssh fgn r localhost root p 在目標伺服器執行以下命令,結果可以使目標伺服器通...
Tomcat多埠對映配置
在server.xml中,找到 標籤,預設情況下會有乙個 8080 埠的 標籤 複製該標籤,修改其 port 的值,即可為tomcat多增加乙個對映埠 這樣即可實現多個埠同時訪問tomcat。在server.xml中,找到 標籤,修改其 defaulthost 屬性為你的預設網域名稱 在上述 標籤內...
使用埠對映
如果你的電腦在區域網內,但是該區域網內的伺服器使用了公網ip,這種情況可以使用埠對映。例如某些單位的區域網伺服器接入時用的都 是專線固定ip,另外很多寬頻接入也是這種情況。也即http 202.102.231.255 8080 http 192.168 0.2 80 該軟體同時提供ip訪問策略,你可...