Frage

Wir verwenden BigIP Balance zwischen unseren beiden IIS-Server zu laden. Wir entfalteten vor kurzem ein WCF-Dienst von IIS 6 auf diesen zwei Windows Server 2003R2 Servern gehostet werden.

Jeder Server ist mit zwei Host-Header konfiguriert ist: eine für die Lastverteilungs-Adresse, und dann einem zweiten Host-Header, der zu diesem Server nur Punkte. So können wir einen bestimmten Server in der Last ausgeglichene Gruppe für das Debuggen verweisen können.

Wenn wir also laufen wir sofort den Fehler bekommen:

  

Diese Sammlung enthält bereits eine Adresse mit Schema http. Es kann in dieser Sammlung höchstens eine Adresse pro Schema sein.   Parametername: Artikel

habe ich einige der Forschung, und wir können einen Filter implementieren, es zu sagen, die einer der Hosts zu ignorieren, aber dann können wir Zugriff auf den Server nicht von dieser Adresse.

<serviceHostingEnvironment>
    <baseAddressPrefixFilters>
        <add prefix="http://domain.com:80"/>
    </baseAddressPrefixFilters>
</serviceHostingEnvironment>

Was ist die beste Lösung in diesem Szenario, das wir einen WCF-Dienst erlauben würde, über http getroffen: // domain .com / service.svc und http://server1.domain.com/service.svc ?

Wenn wir sollten unsere eigenen Servicefactory erstellen, wie einige Websites vorschlagen, hat jemand eine Beispielcode auf das?

Jede Hilfe ist sehr geschätzt.

EDIT:. Wir müssen von einem der beiden Adressen des WCF-Dienst zugreifen zu können, wenn überhaupt möglich

Danke.

War es hilfreich?

Lösung

Auf dem BigIP erstellen 2 neuen virtuellen Server http://server1.domain.com/ http://server2.domain.com/

einen Pool für jedes VS nur mit dem spezifischen Server in ihm schaffen - so wird es kein tatsächlicher Lastausgleich und es auf diese Weise zugreifen. Wenn Sie kurz auf externem IP ES sind, können Sie immer noch die gleiche IP wie Ihre Produktions Domain-Namen verwenden und nur ein irule verwenden, um Verkehr auf den entsprechenden Pool zu richten

Hope, das hilft

Andere Tipps

Die URL wird verwendet, basierend auf den Bindungen in IIS. Hat die Website mehr als eine Bindung? Ist dies der Fall, oder ist der WCF-Dienst von mehreren Standorten genutzt? Wenn ja, dann sind Sie SOL AFAIK. Wir liefen in dieser Frage. Grundsätzlich kann es nur eine IIS für HTTP-Bindung, sonst ist es Bomben.

Auch hier Informationen über eine Servicehost implementieren. Das wird funktionieren, wenn es möglich ist, dass Ihr WCF-Dienst nur durch 1-Adresse erreichbar sein (leider für uns war dies nicht möglich).

Wenn Sie eine bestimmte Maschine testen müssen, könnten Sie „Bypass“ die Lastverteilung und gewährleisten die korrekte Host-Header keeep glücklich WCF die Datei „hosts“ und bearbeite auf der Maschine aus so Sie testen gesendet wird, zum Beispiel:

10.0.0.11 bis 10.0.0.16 sind die sechs Hosts, die im Cluster „cluster.mycompany.local“ sind, mit einem Lastenausgleich IP-Adresse 10.0.0.10. Beim Testen Sie eine Zeile in die Maschinen-Hosts-Datei hinzufügen können, die direkt im Cluster „10.0.0.13 cluster.mycompany.local“ zu können, drücken Sie die dritte Maschine sagt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top