所以我们有一个工作网站,工作局域网内没有人可以使用。 我们的客户可以使用它。 如果我的手机在LTE上,我可以使用它。 我不能在WiFi上,通过工作的以太网连接,或在DNS服务器上使用它。 不工作的部分是JavaScript,如果有帮助的话。
作为一个编辑:这是我们拥有的网站。
如果没有更多的信息,就很难得出准确的结论,为什么会出现这种情况。 我经常看到的特别是中小型企业networking中的一个问题具有非常相似的症状; 您可以从外部位置访问内部托pipe的服务,但不能在内部访问它们。 这与您的场景有所不同,因为您明确指出这些服务是在外部托pipe的,但可能有一个内部托pipe的组件,您尚未考虑。
总结发生了什么事情:客户端向域名发出请求,域名parsing为您的networking外部IP地址。 客户端的请求然后到达你的外部地址,你的路由器使用你的NAT / PAT规则翻译这个请求,并确定“你想和这个服务器通话”,并转发请求。 服务器响应,您的路由器将响应转发回客户端。
当你从内部客户端访问这个相同的名字时,它仍然会parsing到你的networking的外部IP地址,但是当你提出一个请求的时候,你的路由器会说:“你已经进入networking了,我不需要做任何事情工作“,因为路由器促进”networking之间“的通信。
大多数便宜的路由器实现了一个称为“反向NAT”的function来处理这个问题,而这并不是你通常可以控制的东西,因此它为什么很less影响小企业和爱好者。 较大的组织通常具有适当的DNS和路由基础设施来处理这些情况,并且他们的体系结构通常被认为是可行的。 不幸的是,大多数中等规模的企业都陷入了困境,他们需要更高端硬件的灵活性,但不能充分组织或configuration他们的安装。
首先,你需要确定这是怎么回事。
现在查看networking请求列表,并写下来自这些请求的所有域名。 使用nslookup查询他们的IP地址。 如果其中一个是你的私人networking的外部地址,这可能是你的问题。 如果是这种情况,只需修改您的内部DNS服务器,将此地址parsing为路由器将此stream量转发到的同一节点。
如果您坚持认为您的网站完全独立于外部主机上,请检查您的浏览器安全设置是否影响组织内部的JavaScript。 最简单的方法是直接通过手机或其他设备将您使用的同一台个人电脑连接到互联网,并validation一切正常。
nslookup命令行用法: nslookup hostname.com 8.8.8.8 ,其中'hostname.com'是您要parsing的名称,'8.8.8.8'是常用的公共DNS服务器。 如果没有指定DNS服务器,它将使用您的计算机默认值。