Nginx에서 cadaver 및 WebDAV를 사용하여 인증 오류 "요청-다이제스트 불일치"를 수정하는 방법은 무엇입니까?


2

내가 사용 의 nginx 1.3.9을 확장 기능과 의 nginx-DAV-EXT-모듈의 nginx-HTTP-인증 - 다이제스트 .

문제는 cadaver 로 로그인하려고 할 때만 발생하는 것으로 보입니다 .iOS, OSX 및 기타 DAV 사용 가능 클라이언트로 DAV 공유에 액세스 할 수 있습니다.

서버 구성은 다음과 같습니다.

# Secure WebDAV server
#
server {
    listen   443;
    server_name  dav.me.in;

    ssl on;
    ssl_certificate     em.in.cert.csr;
    ssl_certificate_key     me.in.cert.key;

    ssl_protocols SSLv3 TLSv1;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
    ssl_prefer_server_ciphers on;

    auth_digest_user_file /var/www/.webdav_passwd;

    location / {
        auth_digest "WebDAV";

        root /var/www/dav/;
        autoindex on;

        client_body_temp_path /tmp/nginx/client-tmp 1 2;
            create_full_put_path on;
            client_max_body_size 50m;
            dav_access user:rw group:r  all:r;

        dav_methods PUT DELETE MKCOL COPY MOVE;
        dav_ext_methods PROPFIND OPTIONS;
    }
}

다음은 활성화 된 시체 로그입니다 debug httpauth.

Authentication required for WebDAV on server `dav.me.in':
Username: me
Password: 
auth: Got qop, using 2617-style.
auth: H(A1) is [1700d..........................]
auth: Accepting digest challenge.
auth: Accepted Digest challenge.
Running pre_send hooks
auth: Sending 'Digest' response.
auth: H(A2): bd918..........................
Sending request headers:
OPTIONS / HTTP/1.1
User-Agent: cadaver/0.23.3 neon/0.29.1
Keep-Alive: 
Connection: TE, Keep-Alive
TE: trailers
Host: dav.me.in
Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Sending request-line and headers:
Request sent; retry is 1.
Aborted request (-3): Could not read status line
Persistent connection timed out, retrying.
Sending request-line and headers:
Connecting to xxxxxxxxxxxxxxxxxx
Doing SSL negotiation.
ssl: Verify callback @ 0 => 18
ssl: Verify failures |= 8 => 8
Request sent; retry is 0.
[status-line] < HTTP/1.1 200 OK
[hdr] Server: nginx
Header Name: [server], Value: [nginx]
[hdr] Date: Tue, 25 Dec 2012 23:27:43 GMT
Header Name: [date], Value: [Tue, 25 Dec 2012 23:27:43 GMT]
[hdr] Content-Length: 0
Header Name: [content-length], Value: [0]
[hdr] Connection: keep-alive
Header Name: [connection], Value: [keep-alive]
[hdr] Keep-Alive: timeout=10
Header Name: [keep-alive], Value: [timeout=10]
[hdr] Authentication-Info: qop="auth", rspauth="12f6................................", cnonce="755.........................", nc=00000001Header Name: [authentication-info], Value: [qop="auth", rspauth="12f6................................", cnonce="755.........................", nc=00000001]
[hdr] DAV: 1
Header Name: [dav], Value: [1]
[hdr] Allow: GET,HEAD,PUT,DELETE,MKCOL,COPY,MOVE,PROPFIND,OPTIONS
Header Name: [allow], Value: [GET,HEAD,PUT,DELETE,MKCOL,COPY,MOVE,PROPFIND,OPTIONS]
[hdr] 
End of headers.
Running post_headers hooks
Running post_send hooks
ah_post_send (#1), code is 200 (want 401), WWW-Authenticate is (none)
auth: Got Auth-Info header: qop="auth", rspauth="12f6................................", cnonce="755.........................", nc=00000001
auth: response-digest match: no (expected [b8cd........................] vs actual [12f6................................])
Request ends, status 200 class 2xx, error line:
Digest mutual authentication failure: request-digest mismatch
Running destroy hooks.
Request ends.
Could not open collection:
Digest mutual authentication failure: request-digest mismatch
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.