Unexpected “100 continue”

1

Eu tenho 2 servidores (usando o Windows Server 2003) que se comunica usando o .net remoting. Por alguns motivos de arquitetura, tenho um proxy entre esses dois servidores, que remove o cabeçalho "Expect: 100-continue" da solicitação que é enviada de um servidor para outro. O problema é que, quando o proxy envia a mensagem para o segundo servidor sem esse cabeçalho, as respostas do servidor de destino com "100 continuam". Esse comportamento nos causa muitos problemas, uma vez que o proxy descarta toda a conversa http, quando recebe "100 continue". Eu pesquisei esse problema no Google e descobri que havia um bug no Windows Server 2003 SP1, que deveria ser corrigido no SP2, mas depois que o instalei, o problema ainda permanece. Alguém sabe como consertá-lo, ou configurar o http.sys para não enviar o "100 continue"?

    
por pQd 28.06.2009 / 10:28

2 respostas

1

tente forçar a comunicação http / 1.0 [reconfigurando o proxy, alterando o código do cliente ou a configuração do servidor http]. isso irá degradar o desempenho [se você usar, por exemplo, keep-alive], mas deve resolver o problema.

    
por 28.06.2009 / 10:42
0

Muitos servidores proxy estão usando o HTTP 1.0. Quando o software de cada extremidade tenta usar as capacidades do 1.1, as coisas começam a enlouquecer.

Em alguns casos em que a negociação é necessária, o cliente e o servidor podem concordar que 1.1 é o protocolo adequado (e o servidor proxy finge que concordam). Então, quando a comunicação de nível 1.1 realmente ocorre, o servidor proxy remove coisas que não entende.

Mudar para o 1.0 a partir do cliente geralmente é a maneira mais fácil de obter resultados confiáveis.

Se você estiver usando serviços da Web, isso pode exigir uma classe auxiliar para modificar a solicitação. Se é isso que você está fazendo, vou procurar um exemplo.

    
por 28.06.2009 / 15:53