セキュアなネットワーク
ネットワークセキュリティの概要
デバイスがインターネットに接続されている限り、そのネットワーク上のPhotonクライアントはPhotonサーバーに接続することができます。これは、クライアントが接続処理を開始し、期待される応答を行うためです
。
セキュリティ上の理由から、ネットワークが以下の状態になる場合があります。
- UDP(および・またはその他のプロトコル)をブロックする
- 一定のポート範囲のみを許可する(プロトコルごと)
- ホスト名をブロックする場合がある。
これらの場合に、クライアントを接続させるためのヘルプオプションを以下に記載いたします。
WebSocket
インターネット接続が制限されているネットワ-ワークでも、たいていの場合はよく知られた標準的なインターネトプロトコルであるSecure WebSocket経由の接続であれば許可しています。
プロトコル WebSocketSecure および ポートを443に設定してクライアントを構成してください。
Industries Circleに入っているAppアカウントの場合は、Name Serverアドレスをns.photonindustries.ioに設定してください。 これはAppSettings.Serverの値です。この設定を行うことで、ファイウォールの許可リストに *photonindustries.ioを含めるだけで接続が許可されるようになります。
プロキシサポート
PhotonクライアントはWebSocket接続用プロキシを使用してサポートを行います。WebGLでは、プロキシサポートはブラウザとシステムで定義されています。その他すべてのプラットフォームでは、以下で説明するセットアップ作業が必要です。
- プロジェクト内に、その他のファイルと共にwebsocket-sharp.dllが含まれる
PhotonLibs\WebSocket\フォルダがあることを確認する。 PhotonWebSocket.asmdefを使用して、目的のプラットフォームにWebSocketアセンブリを含ませる。- プロジェクトに「WEBSOCKET」の定義を追加する(通常、プラットフォームごとに設定する)。
Realtime APIレベルでは、デフォルトのPhotonClientWebSocketの代わりにWS/WSS接続用クラスであるSocketWebTcpが使われるようになりました。接続すると、SupportLoggerが
「Socket: SocketWebTcp」という文言を含んだ行をログに記録されるため、これが確認できます。
AppSettings.Serverをns.photonindustries.ioに設定します。ポートはWSの場合は80、WSSの場合は443になるようにしてください。クライアントSDKの中には、デフォルトでこれらを使用しているものもあります。そうでない場合は、AppSettings.Portに設定するようにしてください。
AppSettings.ProxyServerフィールドは空白にするか、以下のオプションのいずれかを入力することができます。- <proxyhostname>:<proxyport> // プロキシアドレスのみ
<user>:<pass>@<proxyhostname>:<proxyport>// 認証およびプロキシアドレス
< および >に囲まれた部分は変数情報です。プロキシ設定には、< および >の記号は含めないでください。
プロキシが使用されていることを確認するには、以下を行ってください。
- Photonネットワーキングレイヤーのログレベルを「Info」に上げる(例:
AppSettings.NetworkLogging経由)。 - Wiresharkを実行して特定のポートを監視する。