TeamCity Tomcat에 연결하도록 IIS 7 리버스 프록시 구성 과 응용 프로그램 요청 라우팅

우리는 가지고있는 IIS 7 구성 웹 서버를하고 만들려는 역방향 프록시 A에 대한 인 TeamCity를 사용하여 설치 Tomcat을 동일한 시스템에 있습니다.

IIS 서버 사이트가 https://somesite있으며 TeamCity가 (으)로 https://somesite/teamcity리디렉션되는 것으로 표시하고 싶습니다 http://localhost:portnumber.

내가 설치 한 IIS URL 재 작성 확장응용 프로그램 요청 라우팅 역방향 프록시를 시도하고 설치하기를하지만 작업을 얻을 수 없습니다.

내가 찾은 가장 가까운 대답은 오래된 StackOverflow 질문입니다 : https : //.com/questions/331755/how-do-i-setup-teamcity-for-public-access-over-https

불행히도 아무런 작업이 없습니다 예.

꽤 많이 검색했지만 관련 예제를 찾지 못하는 것 같습니다.

도움을 주셔서 감사합니다!



답변

TeamCity에 SSL을 구성 하고이 스레드의 답변을 사용하여 약 4 시간을 보냈으므로 서버 팜 옵션을 사용 하여이 작업을 수행 할 수있었습니다.

  • 포트 8080을 사용하여 127.0.0.1에 TeamCity 서버가 포함 된 TeamCity 서버 팜을 구성하고 응용 프로그램 라우팅 규칙이 해당 서버 팜 라우팅 규칙을 만들 수 있도록 허용했습니다.

  • 그런 다음 자체 서명 된 인증서로 구성한 TeamCitySecureProxy라는 웹 사이트를 만들었습니다. 바인딩에서 https / 443 만 구성했습니다 (http / 80 없음).

  • 내가 누락 된 부분 :- 그런 다음 IIS의 ‘서버 팜’에서 ‘TeamCity’노드를 클릭하고 ‘서버 팜’창에서 ‘프록시’를 선택한 다음 ‘응답 헤더의 리버스 다시 쓰기 호스트’를 선택하십시오.

이제 일반 http TeamCity 설치에 액세스하기위한 안전한 엔드 포인트가 있습니다.


답변

커넥터를 사용하여 그렇게 할 수도 있습니다.

Apache에서 직접 구할 수있는 기존 ISAPI 커넥터 (리디렉터)가 있거나 RiaForge에서 사용할 수있는 새로운 커넥터도 있습니다 (이것은 실행하기가 더 쉬워 보입니다).

http://tomcatiis.riaforge.org/


답변

IIS GUI에서 ARR 프록시가 활성화되어 있는지 확인하십시오. 아마도 호스트 헤더를 유지하고 (applicationHost.config를 수동으로 편집하거나 appcmd를 사용하여이를 설정해야 할 수도 있음) 응답 헤더 옵션에서 호스트를 역방향으로 다시 작성해야 브라우저가 요청을하고 응답을보고 SSL 인증서 호스트.

  1. 443의 IIS 사이트 (그리고 아마도 80?)-모든 요청을 청취 (호스트 이름을 지정하지 않음)
  2. 들어오는 모든 경로를 확인하십시오 : URL 일치 (.*)
  3. TeamCity 경로를 찾고 나머지 경로를 유지하십시오. 조건 {URL}
    일치^teamcity(/.*)?
  4. 보존 된 경로로 다시 작성 : 작업 다시 작성, http://localhost:port/{C:1}
  5. 쿼리 문자열 추가 확인
  6. 그리고 아마도 확인 된 추가 규칙 처리를 중지합니다.

그렇게해야한다고 생각합니다.

<rule name="Demo Rule" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{URL}" pattern="^teamcity(/.*)?" />
    </conditions>
    <action type="Rewrite" url="http://localhost:8080/{C:1}" />
</rule>


답변

방금이 작업을 수행했으며 블로그를 게시했습니다.

모든 요구 사항을 설치 한 것으로 보이므로 이제 서버를 설정하기 만하면됩니다.

http://bronumski.blogspot.com/2010/10/host-teamcity-in-iis7.html


답변