如何使用 Windows 電腦和 Apache 在我的 Wi-Fi 網路上創建自定義 TLD(用於 Intranet)?
從安裝 Apache 開始,您能否向我解釋一下我將如何做到這一點?
有多種方法可以做到這一點嗎?我希望
http://intranet
當您連接到網路時域(例如 )可用,而無需hosts
在每台電腦上編輯文件。那可能嗎?我還想為我的本地 URL 創建子域(例如
http://site.intranet
);你能告訴我如何在 Apache 中執行此操作,以及如何配置它嗎?我是否必須將我的電腦重命名為
intranet
,或者是否有另一種方法來映射域而無需編輯每台電腦的配置或工作組(可能通過我的路由器的設置)?如果您能幫助我更好地了解我的選擇,並告訴我如何設置伺服器,我將不勝感激;謝謝你!
這一切都取決於 DNS。您必須確保將 DNS 名稱
intranet
解析為 IP 地址。我只知道如何做到這一點:為基礎設施安裝我自己的 DHCP 和 DNS 服務。Bonjour 風格也應該可以,但我沒有這樣做的經驗。我知道的作業系統支持 DNS 後綴,比如
.local
orexample.corp
。您將控製網路上的 DHCP 伺服器,對嗎?讓我們假設它會給出192.168.13.128
帶有255.255.255.0
網路遮罩的地址,最重要的是,它會給出知道如何在example.corp
區域上權威回答的 DNS 伺服器的地址,它會告訴 DHCP 客戶端他們的 DNS 域是example.corp
。http://intranet.example.corp
如果您鍵入,大多數作業系統將嘗試訪問http://intranet
。這就是短名稱的工作方式。像@Iain 所說的那樣,轉向基於名稱的虛擬主機。假設您的 Apache 配置顯示:
Listen *:80 NameVirtualHost *:80
我假設 Apache 伺服器有
192.168.13.1/24
IP 地址。我會放置一個A
像s01.srv.example.corp.
指向192.168.13.1
和一個CNAME
像intranet.example.corp.
指向的記錄s01.srv.example.corp.
,如果您需要子站點,我也會放入site.intranet.example.corp.
,指向完整的s01.srv
DNS 名稱。回到 Apache 配置:您需要添加如下虛擬主機:
# this matches the NameVirtualHost directive and # loosely matches the Listen directive; it could also be: # NameVirtualHost 192.168.13.1:80 and you'd change this below as well <VirtualHost *:80> # notice you'll need both of these; # they must match what's in the browser Location bar ServerName intranet.example.corp ServerAlias intranet # sorry for the Unix-style paths, I avoid Windows a bit DocumentRoot /var/www/intranet.example.corp </VirtualHost>
如果您需要幫助,我不介意對此進行擴展。請隨時詢問!