2014-12-02 3 views
5

cloudflare가 활성화되어있을 때 HTTP POST를 사용하는 데 문제가 있습니다. 524 시간 초과를 계속 반환합니다.Cloudflare HTTP POST 524 node.js + express로 시간 초과

Failed to load resource: the server responded with a status of 524 (Origin Time-out) 

그러나 cloudflare를 사용 중지하면 HTTP POST가 올바르게 작동합니다.

이 문제의 원인은 무엇입니까?

UPDATE

내가 AJAX POST를 사용하고,이 아약스와 아무있어합니까?

감사합니다.

+1

혹시 이에 대한 해결책을 찾으셨습니까을? 꽤 비슷한 문제가 있습니다. –

+0

이 경우 어떻게해야할까요? 해결책을 찾았습니까? –

답변

0

CloudFlare 524 error의 일반적인 원인.

지원팀에서보다 자세한 문제 해결을 제공 할 수 있어야합니다.

+0

예,하지만 긴 프로세스를 수행하지 않고 있습니다. 간단한 가입 상자 일뿐입니다. 그리고 전에 언급했듯이, AJAX를 사용하는 POST 메서드는 cloudflare를 비활성화하면 올바르게 작동합니다. – hrusli

+0

프로세스는 얼마나 걸리나요? 30/60 초를 초과하면 클라우드 플래어 네트워크를 하위 도메인으로 우회해야합니다. Cloudflare는 현재 30/60 초보다 오래 걸리는 프로세스를 지원하지 않습니다. –

+0

우리의 경험에 따르면 클라우드 플레어는 30/60 초 미만일 경우 시간 초과됩니다 ... – Pencilcheck

0

콘솔 유틸리티 "netstat"은 CloudFlare의 일부 연결이 CLOSE_WAIT 상태임을 나타냅니다. 연결을 올바르게 닫지 않고 서버가 앉아 있다는 것을 가리 킵니다. 메시지 분석기를 사용하여 웹 서버의 TCP 트래픽을 살펴보면 몇 가지 연결이 설정되었고 http 요청이 전송되었지만 내 서버에서 처리되지는 않았습니다.

그래서 우리는 대답을 얻었습니다 : 동시에 수립 된 연결 수가 사용 가능한 Accept() 호출보다 많았습니다. 그래서 TCP 스택이 연결되어 응용 프로그램이 연결을 처리하는 동안 대기합니다. 상황에 따라 이런 일은 결코 일어나지 않을 수 있습니다. 따라서 클라이언트 측은 응답을받지 않고 30 초의 시간 초과 후이 연결을 그냥 끊습니다.

이 문제를 해결하려면 수락 가능한 숫자를 늘리십시오. 이 매개 변수는 "최대 동시 연결 수"또는 이와 유사한 이름을 지정할 수 있습니다. 웹 서버 설명서를 확인하고 지원을 요청하십시오.

또한 실험으로 서버가 각 요청에 대해 "Connection : close" 헤더를 사용하여 응답하도록 할 수 있습니다. 이렇게하면 CloudFlare가 계속 길어지기 때문에 활성 연결 제한 문제에 도달하지 못할 수 있습니다.

또한 요청이 많을수록 문제가 발생할 확률이 높아집니다. 에 유휴 연결에 대한 작은 웹 서버 측 시간 초과을 설정할 수 있습니다.

P.S : 하나의 클라이언트 후 CloudFlare의 연결 번호의 그림이 페이지로드 : 이 (http://i.imgur.com/IgwGLCf.png)

+0

미해결 된 수락/연결 요청 수는 * 백 로그입니다 * 동시 연결 수와 아무 관련이 없습니다 CLOSE_WAIT와 관련이 있습니다. 이는 CLOSE_WAIT가 소켓 누설 일뿐입니다. – EJP