Назад | Перейти на главную страницу

Как настроить crossdomain.xml для сайта, URL-адрес которого является именем компьютера?

Я работаю над приложением Silverlight, размещенным на IIS 6 (Windows Server 2003), которое взаимодействует с веб-службой на сервере приложений JBoss (JBoss 4.2.2 также на Windows Server 2003). Приложение Silverlight используется только в локальной сети, поэтому к нему обращаются с помощью следующего URL-адреса: http://machinename:88/

Я создал файл crossdomain.xml для сервера JBoss (как того требует Silverlight) в ...\server\default\deploy\jboss-web.deployer\ROOT.war со следующим текстом:

<?xml version="1.0" ?>
<cross-domain-policy>
  <site-control permitted-cross-domain-policies="master-only"/>
  <allow-access-from domain="machinename"/>
  <allow-http-request-headers-from domain="machinename" headers="*"/>
</cross-domain-policy>

Я получаю ошибки от Silverlight, пока не заменю "machinename" с участием "*". Я тоже пробовал "machinename:88" с теми же результатами, что и без порта. Как вы должны указать домен, если URL-адрес - это просто имя машины и порт?

Ожидается, что домен будет полностью квалифицирован. Поскольку ваше машинное имя не является полностью определенным доменным именем, оно не проходит проверку и не будет работать, если вы не используете что-то вроде machinename.local для доступа к сайту.

Единственное решение в этом сценарии - использовать "*". Я предполагаю, что в любом случае это не будет проблемой, потому что вы, вероятно, работаете только в защищенной внутренней сети с таким именем машины.