TeamCity Tomcatに接続するようにIIS 7リバースプロキシを構成する


12

我々は持っているIIS 7構成されたWebサーバをして作成したいと考えリバースプロキシをするためにチームシティーの使用してインストールTomcatを同じマシン上で。

IISサーバーサイトがhttps://somesiteあり、TeamCityがにhttps://somesite/teamcityリダイレクトされてhttp://localhost:portnumberいるように見せたいです。

私がインストールされているIIS URL書き換え拡張およびアプリケーション要求ルーティングリバースプロキシを試してみて、セットアップするのが、それは働いて得ることができません。

私が見つけた最も近い答えは古いStackOverflowの質問です:https ://stackoverflow.com/questions/331755/how-do-i-setup-teamcity-for-public-access-over-httpsは
残念ながら機能していません例。

私はかなり検索しましたが、関連する例を見つけることができないようです。

どんな助けも大歓迎です!


また、このメソッドを使用すると、TeamCityの一部のボタンが「https」ではなく「http」につながることに気づきました...これを行う良い方法はないかもしれません。書き換えることはできますが、すべてのデータを含む最初の呼び出しがプレーンテキストで送信されるということですか?うーん
tofutim

回答:


12

TeamCity用にSSLを構成しようとして(そしてこのスレッドの回答を使用して)約4時間を費やしただけで、サーバーファームオプションを使用してこれを機能させることができました。

  • ポート8080を使用して127.0.0.1のTeamCityサーバーを含むTeamCityサーバーファームを構成し、アプリケーションルーティングルールが対応するサーバーファームルーティングルールを作成できるようにしました。

  • 次に、自己署名証明書で構成したTeamCitySecureProxyというWebサイトを作成しました。バインディングでは、https / 443のみを構成しました(http / 80はなし)。

  • 欠けていた部分:- 次に、IISの「サーバーファーム」の下の「TeamCity」ノードをクリックし、「サーバーファーム」ペインから「プロキシ」を選択し、「応答ヘッダーのホストを逆に書き換える」にチェックマークを付けました。

これで、単純なhttp TeamCityインストールにアクセスするための安全なエンドポイントができました。


1
「502-ゲートウェイまたはプロキシサーバーとして機能しているときに、Webサーバーが無効な応答を受信しました」というメッセージが表示されます。-旅の途中でこれに遭遇しましたか?もしそうなら、どのように修正しましたか?
mcintyre321

このソリューションは私のために働いた。逆書き換えホストが必要です。そうしないと、一部のボタンがhttpsではなくhttpになります。おかげウォーレン
tofutim

このシナリオでは、Nugetサーバーにいくつかの問題があります。:(
tofutim 14年

1

コネクタを使用してこれを行うこともできます。

Apacheから直接利用できる古いISAPIコネクタ(リダイレクタ)があります。または、RiaForgeから利用できる新しいISAPIコネクタ(リダイレクタ)があります(これは実行しやすいようです)。

http://tomcatiis.riaforge.org/


1
何についての*.jarファイル?私はIIS 7.5でこれをインストールしたのですが、それだけで機能します*.jsp...内容を:(私はvaadin-6.6.2.jar私の展開Webアプリケーションのルートにファイルを。私はBonCode AJPコネクタのハンドルがちょうどJSPは、私が見ることができると思いBoncode-Tomcat-JSP-Handler、「ハンドラマッピング」のオプションでIIS、しかし*.jarファイルで何をすべきかは設定されていない
Sk8erPeter

1

IIS GUIでARRプロキシが有効になっていることを確認してください。ホストヘッダーを保持し(applicationHost.configを手動で編集するか、appcmdを使用してこれを設定する必要がある)、応答ヘッダーオプションでホストを逆書き換えする必要がある場合があります。 SSL証明書ホスト。

  1. 443(およびおそらく80)上のIISサイト-すべての要求をリッスンします(ホスト名を指定しないでください)
  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>

0

私は自分でこれをやったばかりで、それについてのブログを投稿しました。

すべての要件がインストールされているように見えますが、サーバーをセットアップするだけです。

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


投稿を使用する喜びはありません。すでにServerFarmオプションを試しました。IISは80のみ443にバインドされているわけではありません。また、質問root / teamcityで説明されているようにサイトを機能させる必要があります。しかし、リンクをありがとう
Cynicszm
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.