【问题标题】:How to link external website to internal javascript page如何将外部网站链接到内部 javascript 页面
【发布时间】:2015-05-14 15:46:03
【问题描述】:

我有一个网站,我们称之为 example.com,它托管在外部托管服务提供商处。在该站点上,我有一个页面http://example.com/msg.php 需要引用来自 Intranet 站点的 JavaScript,比如说在 example_intranet.com 上运行,所以我有一个脚本参考,例如..

 <script src="http://example_intranet.com/js/messaging.js" type="text/javascipt">

我知道跨域安全问题,并已在 example.com 网站和页面上设置了必要的 CORS。

当您从公司网络 (example_intranet.com) 外部访问 http://example.com/msg.php 时,一切都按预期工作,但是当您从网络内部 (INSIDE) 访问同一页面时,该页面似乎无法解析 javascript include 。 .

关于如何解决这个问题的任何建议?那就是能够让参考 javascirpt 从网络内部工作。

【问题讨论】:

    标签: javascript php networking dns


    【解决方案1】:

    我猜这是 DNS 问题,与代码无关。当您在公司网络上时,Intranet URL 域可能会解析为不同的“内部”IP 地址,而当您在公司网络之外时,它会解析为公共 IP 地址。

    理论场景:

    当您在公司网络中时,Intranet URL 被解析为 本地 IP,例如 192.x.x.x 或 10.x.x.x。所以当你访问你的页面时 您的机器试图查找 javascript 文件的外部主机 使用该内部 IP,但它可能会在 外部主机的网络,找不到它。

    作为一个实验,尝试更改 javascript 文件的路径以使用该 Intranet URL 的公共 IP 而不是域名。

    【讨论】:

    • 我尝试从内部使用1.2.3.4(这是面向公众的IP地址)时会发生同样的事情,如果我尝试转到1.2.3.4,它应该会解析为Intranet站点从内部没有任何反应。这绝对是一个 dns 问题,只是不知道如何解决。
    • 您还需要查看浏览器开发工具的“网络”或“网络”选项卡。 Firefox、Chrome、IE 都有。在此选项卡上,您可以查看该 javascript 文件是否正在加载或是否为 404。只是为了缩小问题是否真的与 JS 文件是否包含有关。
    • 另外,如果您将路径复制到 javascript 文件并将其粘贴到浏览器中,会发生什么情况?你能看到代码吗?
    • 在任何一种情况下,当我将 IP url 或域 url 直接复制到网络内的任何浏览器中时,它都会挂起并且永远不会返回,很明显它找不到路由,我只是不知道如何将路由添加到我们的应用程序,如果这是正确的方法
    • 您应该与为您的公司控制 DNS 的人交谈。在我工作的地方,他们使用内部/外部 IP 做一些奇怪的事情。您的 DNS 人员可能有有用的见解。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多