我在一个巨大的本地Intranet /网络上设置了服务器,在那里他们托管本地网站,但我希望在服务器托管的网站上使用HTTPS。我需要HTTPS,因为网站使用HTML 5并使用手机摄像头拍照等等。我不能自签一份证书,因为我不希望用户看到错误并感到不安全。
但是服务器必须是私有的,在路由器防火墙内部。我拥有一个公共领域,我们称之为www.example.se。去www.example.se非常好,它指向我的私人IP,在浏览器中使用域名和https。由于它是一个公共域,https应该很容易修复?
服务器有两个本地dns ip地址和一个本地DNS名称,如果你不在同一个互联网中,这些名称都无法访问。机器的公共IP几乎所有端口都被外部阻止。进入网络的唯一方式是直接连接到它。
我很难理解如何修复它,或者它是否可行。想了解如何解决此问题的一些提示,或者如何使用其他解决方案进行此工作的建议。我只需要https来访问用户媒体( navigator.mediaDevices.getUserMedia(约束)),并且很高兴有https来给用户一种安全感。
编辑2017-11-20 :添加更多信息。
从同一个路由器和防火墙内的一台客户端计算机上获取此信息时,我会获得此信息。
答案 0 :(得分:0)
如果您的Intranet中有DHCP服务器,则可以指定每个人都必须使用的DNS服务器。该DNS服务器可以指向本地IP地址。然后,对于您网络中的访问者来说,它看起来就像一个普通的网站。
如果您想通过HTTPS进行连接,则必须使用类似Let's Encrypt的内容来获取证书,或者您可以自行签署证书,但现代浏览器如果您进行自签,则会出现错误。
修改强>
对于https,让CA签署证书不应该太大。如果您不想与外界建立任何联系(气隙或其他东西),那么您需要找一个CA来为您签署证书(费用为$$$)。 Https不应该对你太大,因为只有你网络中的人才能进行攻击,看起来你已经把它锁定得很好。 最好的选择是自签名并让网络中的所有浏览器都信任您的证书。无需连接到外部世界,这将是免费且容易的。
对于DNS,添加指向内部服务器的DNS条目不会影响其他计算机。它所要做的就是告诉网络上的其他计算机" www.example.se"存在于192.168.1.1(或者服务器的内部ip)。
您的网络上是否有DNS服务器,或者您是否使用IP地址进行通信?