2015-01-05 4 views
0
  • TFS 2013
  • 윈도우 서버 2012
  • 8.5 IIS 응용 프로그램 요청 라우팅 (ARR) I가 역방향 프록시에 대한 ARR을 사용하고

해당 서버의 URL에 대한 요청을 해당 서버의 TFS에 대해 설정 한 IP 주소로 다시 라우팅하십시오.TFS 팀 룸 SignalR은 크롬에서 금지

Chrome을 제외하고 모든 것이 잘 작동합니다 (매우 자주 말하지 마십시오).

설치 내 TFS의 웹 버전을 탐색하고, "팀 룸"을 방문, 나는 크롬 콘솔에서 SignalR 오류가 :

403 (금지 : SignalR 크로스 도메인을 사용할 수 없습니다.)

FF와 IE의 동일한 링크가 정상적으로 작동합니다. 또한 TFS IP 주소 (ARR 무시)를 통해 Team Room 링크를 직접 방문하면 정상적으로 작동합니다.

나는이 문제를 해결하기 위해 여러 가지를 시도했다.

자바 스크립트에서 SignalR 연결의 연결 URL을 설정 TFS

<add name="Access-Control-Allow-Origin" value="http://tfs.mydomain.com"/> 

에 대한 Web.config에이 헤더를 추가 및과 같이 JSONP를 사용 : 나는 심지어 다른 접근 방식을 시도

$.connection.hub.url = "http://my.ip.address:8080/tfs/signalr"; 
options = ({jsonp: true}) 
$.connection.hub.start(options) 

I 온라인에서 ARR에서 캐시를 사용할 수 없게되었습니다.

많은 솔루션에서 서버의 SignalR에 대한 상호 도메인 요청을 허용해야한다고 말합니다. 그러나 TFS 설치를위한 것이기 때문에 TFS 용 바이너리를 수정할 자유가 없습니다.) 나는 SignalR API를보고 클라이언트에서이 작업을 수행 할 수있는 방법을 찾을 수 없었습니다.

이 문제에 대해 내가 만났던 또 다른 유일한 대답은 Chrome이 도청되어 사용하지 않는 (바람직하지 않음) 것입니다.

Chrome을 사용하여 TFS 팀 룸 기능에 액세스하는 방법을 아는 사람이 있습니까?

+0

Chrome에 버그가있는 경우 Google에 해결 방법을 요청합니다. –

+0

정확히 내 질문에,이 버그 및 만약 누군가가 해결 방법을 발견했다면? –

+0

본 적이 있습니까? http://stackoverflow.com/questions/15367968/cross-domain-will-not-work-with-a-signalr-persistentconnection? – Pawel

답변

2

답변을 모르겠지만 동일한 문제와 정보가 있습니다.

나는 Fiddler를 사용하여 HTTP 요청을 검사하여 Chrome과 IE에서 전송 된 요청이 다른지 확인합니다. Chrome은 '참조 자'와 함께 '원본'헤더를 보냅니다. IE는 그렇지 않습니다. Fiddler의 필터 옵션을 사용하여 Fiddler가 캡처하는 동안 "원본"헤더를 동적으로 제거하고 Chrome은 정상적으로 작동합니다. 피들러의 필터에서 "원산지"헤더를 제거

Origin: https://[domain] 
X-Requested-With: XMLHttpRequest 
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 
Content-Type: application/x-www-form-urlencoded; charset=UTF-8 
Referer: https://[domain]/tfs/_rooms 

크롬 작업 할 수 있습니다 :

크롬에서 보낸 헤더의 일부입니다.

+1

그건 재미 있어요. 나는 Fiddler와 함께 위의 것을 시도했고 그것은 당신이 말한 것처럼 효과가있었습니다. 불행히도 요청 헤더를 제거하는 방법을 찾을 수 없습니다. TFS web.config에서이 작업을 시도했지만 작동하지 않았습니다.이 방법으로 사용하지 않아도되지만 현재는 빨대를 잡고 있습니다. customHeaders>