기본적으로 Comet/Long Polling 기술을 사용하여 구현 된 SalesForce에서 Streaming API를 사용하려고합니다. 클라이언트에서는 jetty-http, bayeux-api, cometd-java-client와 함께 Java를 사용하고 있습니다.bayeux long 폴링 혜성 ~ 프록시 사용 중 오류가 발생했습니다.
프록시없이 응용 프로그램을 실행하면 모든 것이 완벽하게 작동합니다. 하지만 클라이언트 경우, 사용자 인증을
B. 긴 폴링 악수 할 수 A.
가
C. 메타은/초기 402 에러를 갖는 (로그 이하를 참조하여 연결 succesfull 인 네트워크 프록시를 사용)하지만 결국 성공
D. 는 서버 측
상관 무슨 일이 여기에 무슨 일이 일어나고 생각, 왜 프록시에서 어떤 응답을하지 마십시오 위의 A, B, C의 모든 HTTP 연결 요청이 성공하더라도이 문제가 발생 했습니까?
[12:23:50.504-HttpClient-21][CHANNEL:META_CONNECT]: {"id":"5","error":"402::Unknown client","successful":false,"advice":{"interval":500,"reconnect":"handshake"},"channel":"/meta/connect","clientId":"jj1ajqshe3lkkpp1rsiy5g30ppey"}
[12:23:50.504-HttpClient-21][CHANNEL:META_CONNECT] Error : 402::Unknown client
[12:23:51.760-HttpClient-23][CHANNEL:META_HANDSHAKE]: {"id":"6","minimumVersion":"1.0","supportedConnectionTypes":["long-polling"],"successful":true,"channel":"/meta/handshake","clientId":"ingkpdlgu6uy43m06ei30spqpl","version":"1.0"}
[12:23:53.170-HttpClient-19][CHANNEL:META_CONNECT]: {"id":"7","error":"402::Unknown client","successful":false,"advice":{"interval":500,"reconnect":"handshake"},"channel":"/meta/connect","clientId":"ingkpdlgu6uy43m06ei30spqpl"}
[12:23:53.170-HttpClient-19][CHANNEL:META_CONNECT] Error : 402::Unknown client
[12:23:54.408-HttpClient-22][CHANNEL:META_HANDSHAKE]: {"id":"8","minimumVersion":"1.0","supportedConnectionTypes":["long-polling"],"successful":true,"channel":"/meta/handshake","clientId":"fr1r22f6au89xpm1lbucrp26fs27","version":"1.0"}
[12:24:00.757-HttpClient-19][CHANNEL:META_CONNECT]: {"id":"9","successful":true,"advice":{"interval":0,"reconnect":"retry","timeout":110000},"channel":"/meta/connect","clientId":"fr1r22f6au89xpm1lbucrp26fs27"}
[12:24:07.051-HttpClient-19][CHANNEL:META_CONNECT]: {"id":"10","successful":true,"channel":"/meta/connect","clientId":"fr1r22f6au89xpm1lbucrp26fs27"}
[12:24:13.348-HttpClient-22][CHANNEL:META_CONNECT]: {"id":"11","successful":true,"channel":"/meta/connect","clientId":"fr1r22f6au89xpm1lbucrp26fs27"}
[12:24:19.643-HttpClient-18][CHANNEL:META_CONNECT]: {"id":"12","successful":true,"channel":"/meta/connect","clientId":"fr1r22f6au89xpm1lbucrp26fs27"}
[12:24:25.935-HttpClient-18][CHANNEL:META_CONNECT]: {"id":"13","successful":true,"channel":"/meta/connect","clientId":"fr1r22f6au89xpm1lbucrp26fs27"}
[12:24:33.429-HttpClient-24][CHANNEL:META_CONNECT]: {"id":"14","successful":true,"channel":"/meta/connect","clientId":"fr1r22f6au89xpm1lbucrp26fs27"}
여기에 동일합니다. 내가 mitmproxy를 사용하여 cometd를 사용하는 다른 앱을 탐색하고 버퍼링이 제대로 작동하도록 비활성화해야했습니다. 앱이 TLS에서 신원 확인을 시행하는 경우 프록시 CA 소스를 ssl 신뢰할 수있는 CA로 가져와야 할 수도 있습니다. –