IIS 7 Ters Proxy'yi TeamCity Tomcat'e bağlanmak için yapılandırma


12

Yapılandırılmış bir IIS 7 web sunucumuz var ve aynı makinede Tomcat kullanarak TeamCity kurulumu için ters bir proxy oluşturmak istiyoruz .

IIS sunucu sitesi https://somesiteve ben TeamCity https://somesite/teamcityyönlendirme olarak görünmesini istiyorum http://localhost:portnumber.

Bir ters proxy kurmak ve denemek için IIS URL Yeniden yazma uzantısını ve Uygulama İsteği Yönlendirme'yi yükledim ancak çalışamıyor .

Bulduğum en yakın cevap eski bir StackOverflow sorusu: ne yazık ki hiç çalışmayan /programming/331755/how-do-i-setup-teamcity-for-public-access-over-https
misal.

Biraz aradım ama alakalı bir örnek bulamıyorum.

Herhangi bir yardım takdir!


Ayrıca, bu yöntemi kullanarak TeamCity'deki bazı düğmelerin 'https' yerine 'http' ye yol açtığını fark ettim ... belki de bunu yapmanın iyi bir yolu yoktur. Yeniden yazılabilse de, bu, tüm verilerle ilk çağrının düz metin olarak gönderileceği anlamına mı geliyor? hmmm
tofutim

Yanıtlar:


12

TeamCity için SSL'yi yapılandırmaya çalışırken yaklaşık 4 saat harcadıktan sonra (ve bu konudaki cevapları kullanarak), sunucu çalışması seçeneğini kullanarak bu çalışmayı başardım.

  • 127.0.0.1'de 8080 numaralı bağlantı noktasını kullanarak TeamCity sunucumu içeren bir TeamCity sunucu grubu yapılandırdım ve Uygulama Yönlendirme Kurallarının karşılık gelen bir sunucu grubu yönlendirme kuralı oluşturmasına izin verdim.

  • Daha sonra kendinden imzalı bir sertifika ile yapılandırdığım TeamCitySecureProxy adlı bir web sitesi oluşturdum. Bağlamalarda sadece https / 443'ü yapılandırdım (http / 80 yok).

  • Eksik olan bölüm: - Daha sonra IIS'de 'Sunucu Çiftlikleri' altındaki 'TeamCity' düğümünü tıkladım, 'Sunucu Çiftliği' bölmesinden 'Proxy' öğesini seçtim ve 'Yanıt başlıklarında yeniden yazmayı tersine çevir' seçeneğini işaretledim.

Artık düz http TeamCity kurulumuma erişmek için güvenli bir son noktam var.


1
"502 - Web sunucusu, ağ geçidi veya proxy sunucusu gibi davranırken geçersiz bir yanıt aldı." - bunu yolculuğunuzda gördünüz mü, eğer öyleyse, nasıl düzelttiniz?
mcintyre321

Bu çözüm benim için çalıştı. Tersine yeniden yazma ana bilgisayarı gereklidir, aksi takdirde bazı düğmeler https yerine http'ye yol açar. Teşekkürler Warren
tofutim

Bu senaryoda nuget sunucusuyla ilgili bazı sorunlar var. :(
tofutim

1

Bunu yapmak için bir bağlayıcı da kullanabilirsiniz.

Doğrudan Apache'den eski ISAPI konektörü (yeniden yönlendirici) veya RiaForge'dan yeni bir tane de var (bu, çalıştırmak daha kolay görünüyor).

http://tomcatiis.riaforge.org/


1
*.jardosyalar ne olacak ? Bunu IIS 7.5'e yükledim, ancak sadece *.jspiçerik sunuyor ... :( vaadin-6.6.2.jarKonuşlandırılan web uygulamamın kökünde bir dosya var Boncode-Tomcat-JSP-Handler. IIS, ancak *.jardosyalar ile ne yapılması gerektiği ayarlanmadı
Sk8erPeter

1

IIS GUI'de ARR proxy'sinin etkinleştirildiğinden emin olun. Muhtemelen ana bilgisayar üstbilgisini koru (applicationHost.config dosyasını elle düzenlemeniz gerekebilir veya bunu ayarlamak için appcmd kullanmanız gerekebilir) ve yanıt üstbilgisi seçeneklerinde de etkin olarak yeniden yazma ana makinesini tersine çevirebilirsiniz; böylece tarayıcı, SSL sertifika ana bilgisayarı.

  1. 443'teki IIS sitesi (ve muhtemelen 80?) - tüm istekleri dinliyor (ana bilgisayar adını belirtmeyin)
  2. tüm gelen yollara bak: eşleme URL'si (.*)
  3. TeamCity yolunu arayın, yolun geri kalanını koruyun: koşul {URL} eşleşmeleri^teamcity(/.*)?
  4. korunmuş yolla yeniden yazma: eylem yeniden yazma, http://localhost:port/{C:1}
  5. sorgu dizesini ekle işaretli
  6. ve muhtemelen kontrol edilen diğer kuralları işlemeyi durdur

Bence bunu yapmalı.

<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

Bunu kendim yaptım ve yeni bir blog yayınladım.

Tüm gereksinimleri yüklediniz, şimdi sunucuyu ayarlamanız gerekiyor:

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


Gönderinizi kullanırken sevinç yok. Zaten ServerFarm seçeneğini denedim. Ben sadece SSL üzerinde çalışmasını sağlamak gerekir, IIS sadece 80 443 bağlı değildir. Ayrıca site soru kök / teamcity açıklandığı gibi çalışmasını gerekir ve bu şekilde çalışmasını sağlamak için yazı yeterli detay yok. Bağlantı için teşekkürler
Cynicszm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.