> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 執行 HTTP 伺服器進行測試

> 如何安裝 Node.js http-server 並在本機提供靜態 HTML 檔案，讓您可以依照 Facebook、Google 或 Twitch 的 PlayFab 驗證教學課程操作。

在某些情況下，您可能需要執行本機 HTTP 伺服器以進行測試。例如，如果您正在依照我們的教學課程，使用 [Facebook 和 HTML5](/zh-TW/services/playfab/identity/player-identity/platform-specific-authentication/facebook-html5)、[Google 和 HTML5](/zh-TW/services/playfab/identity/player-identity/platform-specific-authentication/google-html5) 或 [Twitch 和 HTML5](/zh-TW/services/playfab/identity/player-identity/platform-specific-authentication/twitch-html5) 設定 PlayFab 驗證，但您沒有具備網域的遠端伺服器，本教學課程可能會對您有所幫助。

## 必要條件

* 已安裝 [Node.JS](https://nodejs.org/en/)

## 使用 npm 安裝 HTTP 伺服器

在您的系統上執行命令列/終端機 (目前位於哪個目錄都無所謂)。

執行 `npm install -g http-server`。npm 完成後，您就已安裝這個小型 HTTP 伺服器。就是這麼簡單。

## 提供檔案

在您的系統上建立一個新資料夾，作為提供靜態檔案的來源。在 Windows 上，路徑沒有特定限制。

在 macOS 上，您可能需要檢查該資料夾的存取權。在新建立的資料夾中，建立一個名為 **index.html** 的檔案。

在檔案中填入下列內容。

```html theme={null}
<!doctype html>

<html lang="en">
<head>
  <meta charset="utf-8">
  <title>My Page</title>
</head>

<body>
 <p>Hello world!</p>
</body>
</html>
```

執行**命令列/終端機**並 cd 至含有 **index.html** 檔案的資料夾，然後：

1. 執行 **http-server**。
2. **HTTP-server** 會開始從您目前的目錄提供檔案。
3. 它也會列印伺服器正在接聽的所有 **IP** 端點。
4. 使用其中一個端點，透過瀏覽器連線到您的 Web 伺服器。
5. 觀察您的頁面載入。

<img src="https://mintcdn.com/microsoft-4404708b/mLCHf0iQv3VidfBe/images/playfab/identity/player-identity/platform-specific-authentication/tutorials/serving-files-with-http-server.png?fit=max&auto=format&n=mLCHf0iQv3VidfBe&q=85&s=d01d646ad860fd92c2917526c08f06f5" alt="使用 http-server 命令提供檔案" width="1225" height="602" data-path="images/playfab/identity/player-identity/platform-specific-authentication/tutorials/serving-files-with-http-server.png" />

您可以選擇性地指定執行伺服器的連接埠。

* **範例**：執行 `http-server -p 80`，在**連接埠 80** 上執行您的伺服器。如果連接埠已被佔用，您必須找出使用此連接埠的應用程式並將其關閉，然後再嘗試重新執行 HTTP 伺服器。

### 使用自訂網域名稱提供檔案

測試不同的 SDK 時 (例如 [Google](/zh-TW/services/playfab/identity/player-identity/platform-specific-authentication/google-html5) 或 [Facebook](/zh-TW/services/playfab/identity/player-identity/platform-specific-authentication/facebook-html5))，您會發現某些服務只能使用特定的有效網域名稱來設定。

例如，它們不接受單純的 IP 位址 + 連接埠。某些服務使用此類設定，以確保您的瀏覽器從特定且安全的網域擷取您的程式碼。

它們也經常使用此設定，以確保使用者只能從您的網域登入您的應用程式，而且沒有其他人可以偽造並竊取使用者資料。

<Note>
  雖然這是重要且實用的安全性限制，但在嘗試於本機測試程式碼時可能會造成一些麻煩。
</Note>

如果您在連接埠 80 上執行伺服器，而且您的使用案例夠簡單，您可以利用作業系統上的 HOSTS 檔案，透過有效的網域名稱存取您的 HTTP 伺服器。

HOSTS 檔案是 Windows 和 macOS 上都有的特殊檔案。它可讓您以自訂端點覆寫特定網域名稱。HOSTS 檔案的結構示意如下：

```cmd theme={null}
IP_ADDRESS_1 DOMAIN_NAME_1
IP_ADDRESS_2 DOMAIN_NAME_2
IP_ADDRESS_3 DOMAIN_NAME_3

# This is comment
# IP_ADDRESS_4 DOMAIN_NAME_4 <- this entry is commented out and is inactive
...
```

每一行恰好代表*一個*項目。當您嘗試連線到 `DOMAIN_NAME_1` 時，您的瀏覽器會將要求導向 `IP_ADDRESS_1`。

HOSTS 檔案中的*每個*項目都適用相同規則。在上述範例中，第 `4` 個項目以 `#` 開頭。這是註解的語法。

藉由將特定項目*註解*掉，您可以停用這些項目，而不必將其從 HOSTS 檔案中移除。

`playfab.example` 是有效的網域名稱，但您的瀏覽器不太可能透過它連線到任何網站。將下列項目新增至您的 HOSTS 檔案後，您就能使用該網域名稱連線到本機 HTTP 伺服器。

```cmd theme={null}
127.0.0.1 playfab.example
```

<Note>
  如果您使用 80 以外的連接埠，則必須將本機伺服器啟動時建立的連接埠 (例如連接埠 8080) 新增至 URL 的結尾 (`<playfab.example:8080>`)
</Note>

<img src="https://mintcdn.com/microsoft-4404708b/mLCHf0iQv3VidfBe/images/playfab/identity/player-identity/platform-specific-authentication/tutorials/http-server-hello-world.png?fit=max&auto=format&n=mLCHf0iQv3VidfBe&q=85&s=cdcc112f35435bdb52872c45a6c4627a" alt="HTTP 伺服器 - Hello World" width="660" height="173" data-path="images/playfab/identity/player-identity/platform-specific-authentication/tutorials/http-server-hello-world.png" />

在 Windows 作業系統上，HOSTS 檔案通常位於：

`C:\Windows\System32\drivers\etc\hosts`。

在 macOS 上，HOSTS 檔案通常位於：

`/private/etc/hosts`。

<Warning>
  在瀏覽器網址列中輸入網域名稱時，請務必包含配置：`<http://playfab.example>`。
</Warning>


## Related topics

- [使用 Twitch 和 HTML5 設定 PlayFab 驗證](/zh-TW/services/playfab/identity/player-identity/platform-specific-authentication/twitch-html5.md)
- [使用 Google 和 HTML5 設定 PlayFab 驗證](/zh-TW/services/playfab/identity/player-identity/platform-specific-authentication/google-html5.md)
- [使用 Facebook 和 HTML5 設定 PlayFab 驗證](/zh-TW/services/playfab/identity/player-identity/platform-specific-authentication/facebook-html5.md)
- [伺服器匿名登入驗證](/zh-TW/services/playfab/identity/player-identity/platform-specific-authentication/anonymous-login.md)
- [使用 LocalMultiplayerAgent 對容器遊戲伺服器進行偵錯](/zh-TW/services/playfab/multiplayer/servers/LocalMultiplayerAgent/run-container-gameserver.md)
