我有一个网站,我们称之为example.com,它托管在外部托管服务提供商处。在网站上我有一个页面http://example.com/msg.php,需要从内部网站点引用JavaScript,比如在example_intranet.com上运行,所以我有一个脚本引用,如..
<script src="http://example_intranet.com/js/messaging.js" type="text/javascipt">
我了解跨域安全问题,并在example.com网站和网页上设置了必要的CORS。
从OUTSIDE公司网络(example_intranet.com)访问http://example.com/msg.php时,一切都按预期工作,但当您从内部(INSIDE)网络访问同一页面时,该页面似乎无法解析javascript包括..
有关如何解决这个问题的任何建议吗?那就是能够让网络内部的javascirpt参考起作用。
答案 0 :(得分:0)
我猜这是一个DNS问题,而不是代码。当您在公司网络上时,Intranet URL域可能会解析为不同的“内部”IP地址,当您在室外时,它会解析为公共IP地址。
理论情景:
当您在公司网络中时,Intranet URL将被解析为 本地IP,如192.x.x.x或10.x.x.x.所以当你访问你的页面时 你的机器试图找到javascript文件的外部主机 使用该内部IP,但它可能正在寻找它 外部主机的网络,找不到它。
作为实验,请尝试更改javascript文件的路径,以使用该Intranet URL的公共IP而不是域名。