보안 네트워크

네트워크 보안 개요

디바이스가 인터넷에 접근할 수 있는 한, Photon 클라이언트는 Photon 서버에 연결할 수 있습니다. 이는 클라이언트가 연결을 시작하고 응답이 예상되기 때문입니다.

보안상의 이유로 네트워크에는 몇 가지 변형이 있을 수 있습니다:

  • UDP(또는 다른 프로토콜)를 차단하는 경우
  • 일부 포트 범위(프로토콜별)만 허용하는 경우
  • 특정 호스트 이름을 차단하는 경우

이러한 경우 클라이언트를 연결할 수 있도록 몇 가지 옵션이 있습니다.

WebSockets

인터넷 접근이 제한된 대부분의 네트워크에서도 보안 WebSockets 를 통해 안전한 연결이 가능합니다. 이는 잘 알려진 표준 인터넷 프로토콜입니다.

클라이언트를 WebSocketSecure 프로토콜을 사용하도록 설정하고 포트를 443으로 지정하세요.

Industries Circle 계정에 속한 앱은 또한 네임 서버 주소를 다음과 같이 설정해야 합니다: ns.photonindustries.io. 이는 AppSettings.Server 값입니다. 이렇게 설정하면 방화벽의 허용 목록에는 .photonindustries.io 만 포함하면 됩니다.

프록시 지원

Photon 클라이언트는 WebSocket 연결을 위한 프록시 사용을 지원합니다. WebGL에서는 브라우저 및 시스템에 의해 프록시 지원이 정의됩니다. 다른 모든 플랫폼은 아래에 설명된 일부 설정 작업이 필요합니다.

  • 프로젝트에 websocket-sharp.dll 등을 포함한 PhotonLibs\WebSocket\ 폴더가 있는지 확인하세요.
  • 대상 플랫폼에 WebSocket 어셈블리를 포함하기 위해 PhotonWebSocket.asmdef를 사용하세요.
  • 프로젝트에 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를 실행하여 특정 포트를 모니터링하세요.
Back to top