server | v3 switch to v4  

安全な WebSocket のセットアップ

「wss://...」で始まる安全なWebSocketを使用してPhoton Serverに接続しているクライアントに許可するには、次のように行ってください。

  1. SSL証明書を取得する

    1.1. 開発目的用に自己署名SSL証明書を生成することができます。

    開発マシンにIIS7がインストールされていれば、こちらの手順を実行してください。 https://technet.microsoft.com/en-us/library/cc753127%28v=ws.10%29.aspx

    「friendly name」は、あなたのWebクライアントがサーバーにアクセスするために使用するのと同じ名前にしてください。例:photon.example.com

    作業の完了後、証明書が正しい証明書ストアにインストールされていることを確認してください。

    • コマンドラインに「mmc.exe」と入力して、Microsoft Management Consoleを開きます。
    • 「File」メニューから「Add / Remove snap-in」を選択します。
    • 「Certificates(証明書)」->「Add(追加)」->「Computer Account(アカウント名)」 ->「Local Computer(ローカルコンピュータ)」 ->「OK」の順に選択します。

    • 左側のノードを「Certificates(証明書)」->「Personal(個人)」 ->「Certificates(証明書)」の順に展開します。
    • 証明書は次のように表示されるはずです:

    こちらに、Management Consoleを使用して証明書を表示するためのより詳細な説明があります。 https://msdn.microsoft.com/en-us/library/ms788967.aspx

    1.2. あなたは、IIS7がマシンにインストールされていない場合は、お使いのマシンに自己署名SSL証明書を生成するため、インターネット上で利用可能な複数のチュートリアルから一つを選んで従ってください。

    証明書が生成できたら、1.1で説明したように「Local computer」証明書ストアを開いてください。

    「Personal」ノードを右クリックし、「All Tasks(すべてのタスク)」->「Import(インポート)」 を選択します。 ウィザードに従って証明書をインポートしてください。

    1.3. プロダクションサーバーには、自己署名証明書を使用する代わりに、信頼できる認証局によって署名された証明書を取得してください。1.2からの手順に従って、「ローカルコンピュータ」証明書ストアをご使用のサーバーにインストールしてください。

  2. PhotonServer.config内のWebSocketリスナーにこれらの属性を追加します。

    属性 デフォルト 説明
    Secure TRUE 真は、SSLで保護するリスナーを定義しています。
    StoreName MY 証明書が存在するストアの名称。上記のような「個人」ストアに証明書をインストールしている場合、値を「MY」に設定します(またはストア名の設定を省略すると、デフォルトが使用されます)。
    CertificateName Photon 証明書の名称。証明書ストアに示されている「IssuedTo」フィールドの値に「Friendly Name」以外の値を入力します(ステップ1を参照)。
    UseMachineStore FALSE マシンストア(「local computer store」)の使用を定義します。 前述のように、マシンストアに証明書をインストールして、この値を「TRUE(真)」に設定することをお勧めします。その下で実行されるアカウントや、Photonがアプリケーションあるいはサービスとして開始されているかに関わらず、証明書はPhotonに利用できるようになります。 「FALSE」にこの値を設定すると、アプリケーションとして開始される場合、Photonは「Current User(現在のユーザー)」証明書ストアに証明書を探します。サービスとして開始される場合には、関連する「Service(サービス)」証明書ストアになります。 したがって確実に正しいストアに証明書をインストールするようにしてください。
  3. Photon Serverを再起動 ... 完成!


これは安全なwebsocketのPhoton Server構成例です:


...
<WebSocketListeners>

    <-- Web Sockets Listener with SSL -->
    <WebSocketListener
        IPAddress="0.0.0.0"
        Port="9091"
        DisableNagle="true"
        InactivityTimeout="10000"
        OverrideApplication="Lite"
        Secure = "true"
        StoreName = "My"
        CertificateName = "server1.example.com"
        UseMachineStore = "true">      
    </WebSocketListener>

</WebSocketListeners>
...

ドキュメントのトップへ戻る