Microsoft Office 2010이 Sharepoint 인 것처럼 Subversion 서버와 통합되지 않도록 차단


11

모든 문서를 저장하는 Apache Subversion 서버가 있습니다. svn에는 많은 Word, Excel, PDF 등의 문서가 있으며 모든 사용자는 TortoiseSVN을 클라이언트 인터페이스로 사용합니다. 많은 사용자가 웹 브라우저를 통해 리포지토리를 탐색 할 수도 있습니다. 불행히도 종종 Internet Explorer입니다.

최근에 우리는 2003 년부터 Office 2010을 시험 사용하기 시작했으며 IE를 탐색 할 때 저장소의 문서가 다르게 열립니다. IE는 파일을 다운로드 한 다음 적절한 앱으로 전송하는 대신 (로컬에 저장된 임시 복사본이어야 함) 문서 의 URL 을 앱으로 보냅니다 . 문서는 응용 프로그램에서 다운로드 한 다음 공유 지점 서버에서 온 것처럼 처리합니다. 즉, 응용 프로그램이 잠금을 시도한 다음 저장된 변경 내용을 서버에 자동으로 다시 업로드합니다.

인터넷 검색에서 많은 사람들 이이 동작을 원하는 것으로 보입니다 . 그러나 기존 프로세스에 맞지 않도록 비활성화하고 싶습니다. 이 작업을 어떻게 수행 할 수 있습니까?

클라이언트 컴퓨터를 많이 제어 할 수 없으므로 각 클라이언트에 대해 이와 같은 모든 Office 문서 공동 작업 기능을 사용하지 않도록 설정하는 솔루션은 내가 원하는 것이 아닙니다. 게다가 IE에서 Office Document Cache Handler 추가 기능을 사용하지 않도록 설정하는 것 외에 다른 작업을 할 수 없었습니다. 가능한 클라이언트 측 옵션은 이름 지정된 서버에서이 기능을 구체적으로 비활성화하지만 다른 쪽에서는 그대로 두는 옵션입니다.

따라서 서버 측 솔루션이 남습니다. Office에서 svn 서버가 WebDAV를 지원하므로 Sharepoint와 같은 문서 관리 워크 플로로 이동하는 것으로 보입니다. 서버에서 모든 WebDAV 지원을 비활성화하지 않고 이러한 종류의 통합을 중지 할 수있는 방법이 있습니까? 우리는 실제로 다른 목적으로 svn의 자동 버전을 사용하므로 필요한 기능입니다. 실제로 Sharepoint 서버 인 경우 기능을 비활성화하는 방법에 대한 토론을 찾았지만 그렇지 않습니다! 이러한 종류의 작동 방식 (예 : 서버에서 WebDAV 지원을 식별하는 Office 클라이언트)에 대한 이해는 매우 제한적이므로 가능한 경우 추가로 설명해주십시오.

중요한 경우 서버 설정은 다음과 같습니다.

Ubuntu Hardy 8.04의 Apache v2.2.8 및 Subversion v1.4.6.


나는 이것이 성가신 해결 방법이기 때문에 대답으로 제안 할 수 없습니다. Apache / SVN이 DAV를 액세스 프로토콜로 사용하기 때문에 DFAV에 대해 옳다고 생각합니다. 이를 염두에두고 Apache를 삭제하고 svnserve대신 사용할 수 있습니다 .
SmallClanger

제안 해 주셔서 감사하지만 svnserver는 우리에게 옵션이 아닙니다. 우리는 Apache 사용에 의존하는 많은 사용자 정의를 가지고 있습니다.
제임스 티 사토

: 나는 (! 나는 깜짝 놀랐다) MS에서 매우 유용한 기사를 발견 support.microsoft.com/kb/838028는 아파치 서버 1.1 옵션은 WebDAV 작업 할 수 있다는 응답은 HTTP를 통해 나타내는 것으로 생각된다 따라서 사무실을 사용 . "서버에 WebDAV를 사용할 수있게하고 싶지만 Office에서 사용하고 싶지는 않습니까?"라는 옵션이 어디에 있습니까?!
제임스 티 사토

답변:


13

그것을 해결했습니다. http://support.microsoft.com/kb/838028 은 Office가 Microsoft Office 프로토콜 검색을 사용하여 문서 서버에 WebDAV 기능이 있는지 확인하는 방법을 설명합니다. HTTP 1.1 OPTIONS 요청을 보내고 사용 가능한 DAV 기능을 자세히 설명하는 200 OK 응답이 필요합니다. Subversion 서버는 DAV 지원 (제한적)을 가지고 있으며 이에 응답하며 Office는이를 사용하여 서버에 직접 다시 씁니다.

우리가 사용한 솔루션은 Apache 서버에서 mod_rewrite를 사용하여 이러한 요청을 가로 채고 405 Method Not Allowed 응답을 다시 보내는 것입니다. 다시 쓰기 구성은 다음과 같습니다.

# Intercept Microsoft Office Protocol Discovery
RewriteCond %{REQUEST_METHOD} ^OPTIONS
RewriteCond %{HTTP_USER_AGENT} ^Microsoft\ Office\ Protocol\ Discovery [OR]
RewriteCond %{HTTP_USER_AGENT} ^Microsoft\ Office\ Existence\ Discovery [OR]
RewriteCond %{HTTP_USER_AGENT} ^Microsoft\-WebDAV\-MiniRedir.*$
RewriteRule .* - [R=405,L]

에이전트 이름이 "Microsoft Office Protocol Discovery"인 에이전트에서 오는 OPTIONS 메소드의 모든 요청을 가로 채고 405를 다시 보냅니다.이 솔루션은 http://rails.nuvvo.com/lesson/2318-dealing- # 의견을 함께-마이크로 소프트 오피스 프로토콜 발견 -에 - 레일 .

이제 Office는 몇 가지 OPTIONS 요청을 시도하고 405에 의해 거부 된 다음이 특정 서버에 대한 모든 DAV 지원을 포기하고 끄면서 클라이언트와 상호 작용하려는 다른 서버에 대해서는 사용하도록 설정합니다.


정말 고맙습니다! Subversion을 사용하지 않는 동안 동일한 핵심 문제와 싸우고 지금까지 설명서를 찾을 수 없습니다. 나는 이것이 이것이 전부 인지 또는 전부 인지 100 % 확신 하지는 않지만, 그 소리처럼 들립니다. 웹 페이지에 링크 된 Office 문서를 열면 로컬 캐시에서 사본을 볼 수있는 경우에도 경로가있는 내부 하이퍼 링크 (경로가없는 상대 하이퍼 링크)가 정규화 된 http 주소로 만들어졌습니다. 이것은 IE에서만 발생했습니다 ... FF 및 Chrome은 로컬 파일 캐시에서 링크가 끊겼습니다 (예상 한대로). 다시 한번 감사드립니다.
one.beat.consumer

1
@chekolyn 제안, 구성을 다시 쓰려면 다음 세 줄을 추가하십시오. RewriteCond %{HTTP_USER_AGENT} ^Microsoft\ Office\ Protocol\ Discovery [OR] RewriteCond %{HTTP_USER_AGENT} ^Microsoft\ Office\ Existence\ Discovery [OR] RewriteCond %{HTTP_USER_AGENT} ^Microsoft\-WebDAV\-MiniRedir.*$
HopelessN00b

Excel HYPERLINK () 호출은 OPTIONS 요청을 생성하지 않지만 추가 GET을 생성합니다. 그들과 함께 볼 사용자 에이전트 문자열은 "ms-office"입니다. 오류 405를 반환하면 하이퍼 링크가 제대로 작동하지 않지만 Office에 대해 빈 200 응답을 반환하면 트릭이 발생하고 기본 웹 브라우저가 URL에 거의 즉시 열렸습니다 (IIS에서 ASP.NET을 사용하고 있으므로 인증 전에).
richardtallent

그러나 이제 일부 엑셀에는 더 이상 ms office가 없습니다. 예를 들어 내 2013은 그렇지 않습니다.
mplungjan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.