Apache IP和埠的繫結

2021-04-17 18:17:09 字數 1641 閱讀 9324

在linux

下,/etc/httpd/conf/httpd.conf

是apache

的配置檔案。這裡面可以對很多選項進行配置,下面的內容摘自金步國翻譯的

apache

文件,描述如何配置

http server對ip

和埠的繫結。

配置apache監聽指定的位址和埠。

概述

相關模組

相關指令

apache

啟動時,會繫結本機上的位址和埠,然後等待請求的進入。預設情況下,它會監聽本機的所有位址。但是,當需要監聽特定的位址或埠或位址與埠的組合,或者需要對不同的ip位址、主機名、埠作出不同的響應(如使用虛擬主機)時,就必須明確指定。

listen

指令告訴伺服器接只受來自特定埠(或位址+埠的組合)的請求。如果listen

指令僅指定了埠,則伺服器會監聽所有的ip位址;如果指定了位址+埠的組合,則伺服器只監聽來自此特定位址上特定埠的請求。使用多個listen

指令,可以指定在多個位址和埠上進行監聽。

例如:使伺服器同時接受來自埠80和8000的請求,可以這樣寫:

listen 80

listen 8000

接受來自兩個指定的位址+埠的組合:

listen 192.170.2.1:80

listen 192.170.2.5:8000

ipv6

listen [2001:db8::a00:20ff:fea7:ccea]:80

針對ipv6的特殊考慮

有越來越多的平台開始支援ipv6 ,而apr

在大多數平台上也支援ipv6 ,使apache能夠獲得ipv6套接字,並處理通過ipv6傳送的請求。

來改變這種行為。

。要使apache僅僅只處理ipv4連線,無論你的平台是什麼或者apr是否支援,只須對所有listen

listen

0.0.0

.0:80

listen 192.170.2.1:80

怎樣與虛擬主機協同工作

listen

指令並不實現虛擬主機,它只是告訴主伺服器(main server)去監聽哪些位址和埠。如果沒有

指令,伺服器將對所有請求一視同仁;但是如果有

指令,則伺服器會對不同的位址和埠作出不同的響應。要實現虛擬主機,首先必須告訴伺服器需要監聽哪些位址和埠,然後為每個特定的位址和埠建立乙個

段來執行特定的相應。注意,如果將

段設定為伺服器沒有監聽的位址和埠,則此段無效。

後續會有相關虛擬主機的文件跟上。

2020 2 20 埠繫結和網域名稱解析

tcp伺服器的同乙個埠不能夠啟動 繫結兩次 但udp伺服器可以,但客戶端連線上以後,資訊只能傳送給最新繫結的那個伺服器端口,相當於埠被重新繫結了。網域名稱解析函式 struct hostent include struct hostent gethostent void struct hostent...

docker 修改目錄 繫結目錄 繫結埠

1 停止要修改的容器,docker進入管理系統 1 docker run it privileged pid host justincormack nsenter1 2 cd var lib docker containers ls 2 根據容器id進入容器目錄 容器id根據 docker insp...

Erlang自動繫結埠的秘密

根據tcp ip協議限制,單個ip在對外發起連線時,理論上只能發起65535個連線,通常低於1024埠號都被系統保留,要建立多於65535個連線需要繫結多個ip。所以不能任由erlang虛擬機器自己選擇ip,需要在程式中指定ip繫結到socket。而在實際過程中卻無法突破65535這個數量,無論多少...