2011-04-01 3 views
6

웹 응용 프로그램에서 이상한 동작이 발생합니다. 일부 POST 요청에는 http 본문이 없어야합니다. content-length는 0입니다. 게시 매개 변수가 전혀 없습니다. 우리는로드 밸런서에서 네트워크 트래픽을 추적했으며 POST 요청 중 일부가 포함 된 요청 본문을 얻지 못하는 것으로 나타났습니다.프록시 서버가있는 POST 매개 변수 누락

모든 깨진 POST 요청은 공통적으로 프록시 서버를 통해 도착합니다.

우리는 이미 SO에이 질문을 발견 : Why "Content-Length: 0" in POST requests?

우리는 지금 프레임 자바 스크립트 루틴을 탈출 사용하고 조금 도움이됩니다. 오류율이 떨어지는 것 같습니다. 그러나 우리는 여전히 우리의 webapp에서 발생해서는 안되는 데이터가없는 POST 요청을 가지고 있습니다. 이러한 요청은 해커 또는 유사한 사람으로부터 발생하지 않습니다.

종종 우리는 프록시로 webwasher를 보았습니다. 그러나 대부분의 경우 우리는 어떤 프록시가 사용되는지를 보지 못합니다. 설정시이 PDF에서

우리는 webwasher 고려되어야 몇 가지 함정이 있다는 것을 일부 함정

참고

WebWasher - Transparent Authentication Guide

참고로 POST 매개 변수 누락에 대해 코멘트를 보았다

ICAP 서버가 인증 서버로 리디렉션을 보내면 POST 요청이 실패합니다. 그러나 이것은 브라우저의 요청이 성공적 이었기 때문에 매핑의 갱신에만 영향을 미치고 최종 리디렉션 후에 POST 본문이 다시 전송되지 않습니다.

POST 대신 GET 만 사용하는 것이 아닌 다른 해결 방법이 있는지 알고 싶습니다. 다른 사이트에서 POST 데이터 누락 및 결론에 대한 문제가있는 경우에도 여기에 표시됩니다.

POST 데이터가 전송되지 않는 다른 이유가 있습니까? spec을 준수

답변

2

Microsoft의 프록시 서버에 문제가있어 웹 요청이 원활하지 않습니다.

HTTP/1.0을 강제하고 KeepAlive 속성을 false로 설정해야했습니다.

본문을 산발적으로 보내는 NTLM 인증 방식에 대해 뭔가가 있습니다.

내 웹의 많은이 추가 한이 도움이

protected override WebRequest GetWebRequest(Uri uri) 
{ 
    HttpWebRequest webRequest = (HttpWebRequest) base.GetWebRequest(uri); 

    webRequest.KeepAlive = false; 
    webRequest.ProtocolVersion=HttpVersion.Version10; 
    return webRequest; 
} 

희망을 요청!

+0

흠, 우리는 NTLM을 사용하지 않지만 힌트가 올바른 방향으로 향하고 있다고 생각합니다. – Janning

-1

어떤 사람 없습니다 : 일부 HTTP 메소드는 캐시가 엔터티를 무효화시킬해야

. ... POST

합니다 (HTTP/1.0 사양 상태 '응용해야하지 POST 요청에 캐시 응답').

하지만 거기에는 많은 코드가 있습니다.

URL의 POST에 대한 응답에 어떤 헤더를 포함 시키시겠습니까?

+0

그것은 우리의 헤더에 의존하지 않으며, 스펙 관련이 있습니까 : 그들을 게시 여기에 캐주얼 Google 직원을지도합니다. 때로는 때때로 작동하지 않는 경우도 있습니다. 그것은 webwasher와 같은 나쁜 프록시 서버와 관련이있는 것으로 보입니다. 그래서 나는이 질문에 무관하고 도움이되지 않기 때문에이 투표에 투표 할 것입니다. – Janning

0

정말 답이 아닙니다.하지만 비슷한 문제가있어서 여기 도착했습니다. 처음에는 공통 주제 였기 때문에 클라이언트가 모바일 인 것으로 생각했지만 이제는 공통 분모가 프록시임을 깨닫게되었습니다.

이제 http 400이 발생합니다.

다음은 몇 가지 프록시입니다. 문제가 있습니다.

  • 1.1 ACISA02S, 1.1 abc:3328 (squid/2.6.STABLE21)
  • 1.1 ipcop00.cat.local:8000 (squid/2.6.STABLE21)
  • 1.1 PRXTGLSRV01
  • 1.1 ISA
관련 문제