如何设置以机器名作为 URL 的站点的 crossdomain.xml?

如何设置以机器名作为 URL 的站点的 crossdomain.xml?

我正在开发一个托管在 IIS 6(Windows Server 2003)上的 Silverlight 应用程序,它与 JBoss 应用程序服务器上的 Web 服务进行通信(JBoss 4.2.2 也在 Windows Server 2003 上)。Silverlight 应用程序仅在 LAN 上使用,因此它的 URL 如下:http://machinename:88/

我为 JBoss 服务器创建了一个 crossdomain.xml 文件(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>

"machinename"在我将其替换为之前,Silverlight 一直出错"*"。我也尝试过,"machinename:88"但结果与不使用端口时相同。当 URL 只是计算机名称和端口时,您应该如何指定域?

答案1

它要求域名是完全合格的。由于您的计算机名不是完全合格的域名,因此检查失败,除非您使用类似 machinename.local 的域名来访问网站,否则它将无法正常工作。

在这种情况下,您唯一的解决方案是使用"*"。我猜这无论如何都不会成为问题,因为您可能只在具有此类机器名称的安全内部网络上工作。

相关内容