Ошибка безопасности Silverlight WCF + SSL - crossdomain.xml никогда не запрашивал

(Я вижу несколько вопросов, связанных с моей проблемой, но ни одно из решений не работает для меня, поскольку я сталкиваюсь с этой проблемой в производственной среде, а не во время локальной разработки, и я уже испробовал все предложенные исправления.)

У меня есть приложение Silverlight 4, которое использует службы WCF, размещенные в IIS. В производственной среде доступ к этим сервисам осуществляется через HTTPS. Несмотря на наличие действительного файла crossdomain.xml , я все равно получаю знаменитую «ошибку безопасности» при доступе к службе:

Произошла ошибка при попытке сделать запрос к URI ' https: //MYDOMAIN/MYSERVICE.svc '. Это могло произойти из-за попытки доступ к сервису междоменным способом без надлежащего междоменного доступа действующая политика или политика, не подходящая для служб SOAP. Вы возможно, потребуется связаться с владельцем сервиса, чтобы опубликовать междоменный файла политики и убедиться, что он позволяет заголовкам HTTP, связанным с SOAP, быть послал. Эта ошибка также может быть вызвана использованием внутренних типов в Интернете. прокси-сервер службы без использования атрибута InternalsVisibleToAttribute. Подробнее см. Внутреннее исключение. ---> System.Security.SecurityException ---> System.Security.SecurityException: Ошибка безопасности ...

Используя Fiddler, я вижу, что не делается никаких запросов к crossdomain.xml или clientaccesspolicy.xml. Есть запрос CONNECT к серверу, но это все.

Я читал, что эта ошибка, хотя и указывает на проблему с crossdomain.xml / clientaccesspolicy.xml, также может возникать, когда сервер выдает недействительный сертификат. В моем сценарии этого не происходит.

Я уверен, что следующее настроено правильно:
1. crossdomain.xml действителен и размещен в корне сайта
2. Сервисы работают (у нас есть другие клиенты, использующие различные технологии, в том числе Adobe Flex, использующий crossdomain.xml.)
3. Приложение Silverlight действительно работает (оно отлично работает с локальными службами и службами на общем сервере разработки ***)
4. Приложение Silverlight даже не пытается запросить crossdomain.xml или clientaccesspolicy.xml (как подтверждено Fiddler)
5. Приложение Silverlight использует правильную конфигурацию для доступа к WCF через https. Ниже представлена ​​конфигурация:

  
      
          
              
                  
                      
                  
                  
          
          
              
          
      

Что еще может вызвать такого рода проблемы? Может быть, потому, что веб-серверы сбалансированы по нагрузке? Или возникла проблема с сертификатом, которого я не заметил? Если вы хотя бы укажете мне правильное направление, это будет очень полезно.

(*** Стоит отметить: я столкнулся с аналогичной проблемой в нашей среде разработки. Приложению Silverlight не удалось получить доступ к службам WCF на общий сервер разработки, несмотря на то, что у него есть правильный crossdomain.xml и не используется HTTPS. Я работал над этим, добавляя сервер разработки в качестве надежного сайта в IE. Однако этот же обходной путь не работает для производства, и даже тогда он не быть приемлемым обходным путем. Но тот факт, что мне пришлось сделать это в среде разработки, заставляет меня беспокоиться, что я что-то упустил по пути ...)

7
задан Keith 4 April 2019 в 13:32
поделиться