使用主機名稱或 DNS 瀏覽本地包含的網站

使用主機名稱或 DNS 瀏覽本地包含的網站

我的 RaspberryPi 上有一個帶有 apache2 的網頁伺服器。我可以使用 pi 的本地 IP 位址(例如 192.168.xx)瀏覽網站,我想在 LAN 中沒有 IP 的情況下瀏覽網站,例如,http://local.mypi.com

我該怎麼做?謝謝

答案1

為了透過網域名稱而不是 IP 位址進行瀏覽,需要做兩件事 -

  1. 您需要一種方法來解析網域名稱並
  2. 您的網頁伺服器需要使用正確的配置來回應。

(我沒有在這裡討論 HTTPS,因為這看起來完全不切實際)。

解析域名

解析網域名稱的方式取決於您的設定。最簡單的方法是修改需要存取該網站的電腦上的「hosts」檔案。 (幾乎所有作業系統都有一個主機檔案)。您需要管理員權限,並新增一行類似

  192.168.x.x   local.mypi.com

還有其他方法可以實現此目的,但它們取決於網路和設備。有時(很少)您可以在路由器上指派電腦名稱,而在更進階的路由器上有時可以修改 DNS 設定。

另一個解決方案是在 Pi 上執行 DNS 伺服器。這樣做的問題是,您需要讓客戶端使用 Pi 的 DNS 伺服器,這可能意味著運行 DHCP 伺服器並停用路由器上的伺服器。

如果您只專注於 Linux 和 Mac 裝置(即不是 Windows),您也許可以在 Pi 上使用「Zeroconf」實作。 設定網路伺服器

Apache 上的 HTTP 有 2 種模式 - 基於名稱和基於 IP。如果您使用基於 IP 的配置,您只能執行一組網站。基於名稱的虛擬主機將允許您執行多個網站,但您需要為每個網站指定不同的配置。基於名稱的虛擬主機較為常見。

如果您使用基於 IP 的虛擬主機,則無需擔心伺服器上的網域到 IP 位址的對應 - 伺服器不關心所使用的網域名稱。

如果您使用基於名稱的虛擬主機,您需要將如下所示的網域配置新增至您的 apache 配置中

 <VirtualHost *:80>
 ServerName local.mypi.com
 DocumentRoot "/path/to/websitefiles"
 </VirtualHost>

相關內容