WCF SSL через балансировщик нагрузки. Балансировщик нагрузки смена порта ssl - PullRequest
4 голосов
/ 23 июня 2011

Мое клиентское приложение пытается вызвать службу wcf с использованием безопасности транспорта.Служба wcf находится на 2 узлах за аппаратным балансировщиком нагрузки.

Аппаратный балансировщик нагрузки получает вызов wcf через порт 443, а затем изменяет порт на 44556. Это дает ошибку несоответствия конечной точки.Ребята, которые присматривают за нашим производственным отделом и отделом контроля качества, по какой-то причине не хотят, чтобы служба wcf сидела на порте 443. Именно поэтому они настраивают изменение порта.измените порт на 44556, но оставьте его как порт 443, и служба будет вызываться, как и ожидалось.

Мой вопрос: есть ли какая-либо конфигурация, которую я могу сделать для моей службы \ IIS, которая позволит службепринять вызов wcf через порт 44566, когда он поступил из порта 443?

Спасибо,

1 Ответ

3 голосов
/ 23 июня 2011

Да, вам нужно изменить привязки вашего сервера и клиента. Проверьте clientVia элемент.

На сервере: Добавьте атрибут listenUri к вашей конечной точке и измените имя адреса вашей службы с помощью урны. (то же имя для клиента)

<endpoint address="urn:MyService" listenUri="https://localhost:443/MyService" binding="customBinding" bindingConfiguration="NetHttpBinding" contract=Interface.ITradingPlatform"/>

На клиенте:

Например, вместо указания URL-адреса в поле адреса конечной точки добавьте урну, а затем добавьте атрибут behaviorConfiguration:

<endpoint name="ServerHTTP"
                      address="urn:MyService"
                      binding="customBinding"
                      bindingConfiguration="NetHttpBinding"
                      contract="Client.ITradingPlatform"
            behaviorConfiguration="BehaviorHTTP">

      </endpoint>

Вам также нужно будет определить поведениеConfiguration:

<behaviors>
      <endpointBehaviors>
 <behavior name="BehaviorHTTP">
          <clientVia viaUri="https://yourdomain.com:443/MyService"/>
        </behavior>
</endpointBehaviors>
    </behaviors>
...