2014-10-16 4 views
5

나는 cloudflare 뒤에 웹 사이트가 있습니다. cloudflare 지원을 끄지 않고 SSL을 통해 웹 소켓을 활성화해야합니다. 나는 PRO 계획을 가지고 있으므로 새로운 websocket 지원을 얻지 못할 것입니다. Nginx를 사용하여 노드 서버에서 실행중인 웹 소켓에 대한 SSL 연결을 프록시합니다. 이제 cloudflare가 승인 된 ports으로 작동 할 수있는 곳을 읽고 웹 소켓을 지원할 것입니다. 따라서 Nginx 포트에는 8443을 사용하고 노드 서버에는 다른 포트를 사용합니다. wscat를 사용하면 200 오류를 반환합니다.SSL을 통한 웹 소켓 : Cloudflare

$ wscat -c wss://xyz.com:8443 
error: Error: unexpected server response (200) 

나는 websocket이 101 코드를 기대하고 있음을 알고 있습니다. 그러나 https://xyz.com:8443을 방문하면 프록시 서버가 작동 중임을 노드 서버가 표시하는 페이지를 볼 수 있습니다. 또한 cloudflare 지원을 해제하면 websocket이 작동하기 시작합니다. 이 일을하기위한 단서. 하위 도메인을 만들 수 있지만 cloudflare 뒤에 websocket을 실행하는 것이 좋습니다.

답변

5

CloudFlare의 네트워크를 통해 액세스하려는 경우 포트에 관계없이 작동하기 전에 명시 적으로 도메인에서 웹 소켓을 사용하도록 설정해야합니다. 마찬가지로 포트가 네트워크를 통과 할 수 있다고해도 자동으로 도메인에서 웹 소켓을 사용할 수 있거나 액세스 할 수는 없습니다.

Google 지원팀에 문의하여 예외를 요청하여 도메인에서 사용하도록 설정할 수 있는지 알아볼 수는 있지만 일반적으로 비즈니스 및 엔터프라이즈 수준에서만 사용할 수 있습니다.

면책 조항 : CloudFlare에서 일합니다.

+2

감사합니다. CloudFlare에 웹 소켓을 사용하도록 요청했지만 프로 계정이 있으므로 기능을 얻지 못했습니다. CloudFlare 외부의 별도 인스턴스에서 웹 소켓 트래픽을 라우팅해야했습니다. 우리는 DDoS 공격에 노출 될까봐 걱정했지만 잠재적 인 위협을 막기위한 코드를 추가했습니다. 여전히 우리가 바라는 최상의 해결책은 아닙니다. –

+1

@AnshumanBriswas는 현재로서는 약속이 없지만 2015 년에는 웹 소켓을 더 광범위하게 개방 할 것입니다. – xxdesmus

+2

WebSocket 서버에서 DDoS 공격을 어떻게 방지합니까? – ma11hew28