Depurando o WebDAV usando gvfs

1

O gvfs (sistema de arquivos virtual do gnome) sentiu a necessidade de reimplementar alguns dos sistemas de arquivos comuns. Eu estou tentando levar as pessoas para nossos compartilhamentos WebDAV, mas estou recebendo erros bastante crípticos.

O que eu gostaria de fazer é configurar o gvfs para usar um proxy, para que eu possa usar o Charles para ver o que está acontecendo.

Como posso fazer isso facilmente?

Evert

    
por Evert 01.05.2009 / 20:24

1 resposta

1

Eu não sei gvfs, ou se ele suporta proxy ou não. Mas a maneira simples de "forçar" o proxy é configurar o Charles como proxy reverso e permitir que o seu cliente webdav se conecte ao proxy.

Por exemplo, suponha que Charles seja executado no host "proxy" e o webdav esteja no host "webdav". Configure o Charles para fazer o proxy reverso na porta 80 e para encaminhar o tráfego para o webdav: 80 (o "proxy reverso" está disponível nos menus). Em vez de conectar seus clientes ao "webdav", permita que eles se conectem ao link .

Existem poucas ressalvas ao fazer o proxy reverso com o WebDAV. Você precisa reescrever não apenas os cabeçalhos Host: header (que Charles faz para você), mas também Destination: e If: headers. Destino: é usado ao copiar ou mover arquivos, enquanto Se: é usado para verificar se o arquivo ainda está bloqueado. Felizmente, Charles suporta reescrever qualquer cabeçalho ... procure por Ferramentas > Reescreva, você pode colocar lá regras bastante gerais para reescrever. O que você precisa fazer é reescrever parte do host de URLs absolutas nesses cabeçalhos de "proxy" para "webdav". (Simple s / proxy / webdav / irá funcionar para testes) Existe grande resumo por Julian Reschke sobre os problemas de webdav e proxy reverso se você está interessado; -)

(Se você pode fazer o gvfs usar proxy por si só, então você pode evitar problemas com reescrita de cabeçalho ... mas eu não era capaz de fazer o WebdavFS no Mac usar proxy, então isso foi útil para mim).

    
por 13.05.2009 / 19:57