多份HTTP服務80埠復用問題

2021-07-22 17:18:38 字數 3081 閱讀 2942

我們知道:1臺主機有65536個埠(0~65535),每個程序會占用1個埠,http協議的預設埠是80。

現有多份http服務(設作httpd,iis,tomcat)要執行時,若都想用預設埠去訪問,就出現80埠稀缺的問題。

通常的做法是設乙個web**伺服器(如nginx),根據http請求頭host來**到相應的服務。

好在可以通過埠**來解決這個問題。埠**,其原理跟web**服務的host分發類似。它通過監聽指定ip和埠,將收到的輸入**到另一位址。

大致解決思路是:讓各服務程序都不要直接占用80埠,而通過系統自帶的埠**功能,監聽指定ip指定埠收到的請求,並**到各服務程序的埠,並新增乙個網域名稱-ip對映規則,來實現http分發。

如此,可以通過預設埠來訪問各http服務,且80埠還未被占用。

第1步在本機hosts檔案中加入

.com注:(有關hosts檔案,windows的在%systemroot%\system32\drivers\etc\hosts,linux的在/etc/hosts)

一台主機的回環ipv4從127.0.0.1~127.255.255.254,共256*256*254個,遠超出其埠數65536個,絕對夠用,隨你怎麼玩。

第2步在本機設定埠**規則

127.0.0.2   80  127.0.0.1   801

127.0.0.3 80 127.0.0.1 802

127.0.0.4 80 127.0.0.1 8080

windows使用者用netsh命令,以第一條規則為例

rem 新增

netsh inte***ce portproxy add v4tov4 listenport=80 connectaddress=127.0

.0.1 connectport=801 listenaddress=127.0

.0.2 protocol=tcp

rem 刪除

netsh inte***ce portproxy delete v4tov4 listenport=80 listenaddress=127.0

.0.2 protocol=tcp

linux使用者用iptables命令,以設定第一條規則為例

#

新增iptables-t

nat-

aprerouting-p

tcp-

-src

127.0.

0.2-

-dport80-

jredirect--

dst127.0

.0.1

--to-

port

801#

刪除iptables-t

nat-

dprerouting-p

tcp-

-src

127.0.

0.2-

-dport80-

jredirect--

dst127.0

.0.1

--to-

port

801

設當前主機有乙個內建的wifi無線網絡卡,此個網絡卡可獲得2個區域網ip

ipv4

address: 192.168

.1.172

ipv6

address: fe80

::d538

:81db

:8707

:6ef2%11

區域網ip不像回環ip那麼充裕,為獲得更多的ip數,你需要安裝更多的網絡卡。

當再用網線連線到路由時,本機又獲得2個區域網ip

ipv4

address: 192.168

.1.177

ipv6

address: fe80

::dcf5

:6cb9

:6ad2

:c38e%14

如果還不夠,你可以再加usb wifi無線網絡卡或usb rj45乙太網介面卡

在進行下列操作之前,你的路由器須支援hosts設定和埠**。

注:hiwifi極路由使用者可通過安裝應用」hosts」和」埠**」

第1步在路由器hosts檔案中加入

.com第2步在路由器設定埠**規則

192.168

.1.172 80 192.168

.1.172 801

fe80

::d538

:81db

:8707

:6ef2%11 80 192.168

.1.172 802

192.168

.1.177 80 192.168

.1.172 8080

如此,若不出意外,區域網內的其他主機通過瀏覽器訪問以下三個域

即可分別訪問到本機的httpd,iis和tomcat服務。

此外,80埠還可留作他用,比如開乙個nginx服務,用127.0.0.1來訪問。

以上內容,在linux上未經實驗,菜鳥慎試,風險自擔。

多Web伺服器的80埠訪問

寫這篇文章,源自於自己的乙個需求。這幾天一校園web站點因為網域名稱到期,這次打算不出資再去買空間了,想用一下校園網路的rich resouces。可伺服器不多,都已經在提供web服務了。苦思了半天,想起以前弄apache的時候,記得可以做重定向訪問,查了下資料,果然還行。下面就是具體的配置嘍 因為...

Nginx多網域名稱共享80埠配置

前段時間搭建了兩個 分別是桌布 和個人blog。以這兩個 為例介紹一下如何用乙個nginx配置多個網域名稱共享80埠。已有資源 伺服器 118.24.51.89 頂級網域名稱 yypic.top 二級網域名稱 blog.yypic.top 首先需要設定網域名稱解析 在網域名稱管理控制台新增兩條解析記...

伺服器遷移,多網域名稱繫結本地80埠,nginx實踐

近期租用伺服器到期,本來租用的兩台本地網伺服器,變更為一台雲伺服器,涉及到 的遷移問題。先來吐槽雲伺服器,網路高峰期,上傳檔案太慢了,1m的包傳了30分鐘都沒搞定,不知道各位有沒有遇到這樣的問題。不講廢話了,開始正題,公司本來有四個網域名稱,對應到兩台伺服器上,現在集中布設到一台伺服器上,按我的理解...