> ## 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 サーバーの実行

> Facebook、Google、または Twitch の PlayFab 認証チュートリアルに従えるように、Node.js http-server をインストールしてローカルで静的 HTML ファイルを提供する方法。

一部のシナリオでは、テスト目的でローカル HTTP サーバーを実行する必要がある場合があります。たとえば、[Facebook と HTML5](/services/playfab/identity/player-identity/platform-specific-authentication/facebook-html5)、[Google と HTML5](/services/playfab/identity/player-identity/platform-specific-authentication/google-html5)、または [Twitch と HTML5](/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>
```

**コマンド ライン/ターミナル** を実行し、**index.html** ファイルのあるフォルダーに cd し、その後:

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](/services/playfab/identity/player-identity/platform-specific-authentication/google-html5) や [Facebook](/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
...
```

各行は正確に *1 つの* エントリを表します。`DOMAIN_NAME_1` にアクセスしようとすると、ブラウザーはリクエストを `IP_ADDRESS_1` にリダイレクトします。

HOSTS ファイル内の *各* エントリにも同じことが当てはまります。前述の例では、エントリ番号 `4` は `#` で始まります。これはコメントの構文です。

特定のエントリを *コメントアウト* することで、HOSTS ファイルから必ずしも削除することなく、それらを無効にできます。

`playfab.example` は有効なドメイン名ですが、ブラウザーがそれを使用して Web サイトにアクセスすることはまずありません。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 OS では、HOSTS ファイルは通常次の場所にあります:

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

macOS では、HOSTS ファイルは通常次の場所にあります:

`/private/etc/hosts`。

<Warning>
  ブラウザーのアドレス バーにドメイン名を入力する際は、必ずスキーマを含めるようにしてください: `<http://playfab.example>`。
</Warning>


## Related topics

- [サーバー匿名ログイン認証](/ja-jp/services/playfab/identity/player-identity/platform-specific-authentication/anonymous-login.md)
- [Google と HTML5 を使用した PlayFab 認証のセットアップ](/ja-jp/services/playfab/identity/player-identity/platform-specific-authentication/google-html5.md)
- [Twitch と HTML5 を使用した PlayFab 認証のセットアップ](/ja-jp/services/playfab/identity/player-identity/platform-specific-authentication/twitch-html5.md)
- [PlayFab で Sign In with Battle.net をセットアップする](/ja-jp/services/playfab/identity/player-identity/platform-specific-authentication/battlenet-login.md)
- [Facebook と HTML5 を使用した PlayFab 認証のセットアップ](/ja-jp/services/playfab/identity/player-identity/platform-specific-authentication/facebook-html5.md)
