情况如下:
我有两台服务器在我的机器上运行。 一个是面向外的服务器,而另一个是第二个服务器的反向代理,它只监听本地主机并提供服务。
第二台服务器应该运行在https
。 我知道看到两个select:
https
,然后让反向代理服务器将https服务器发送给它。 https
逻辑,为第二个服务器“抽象https”。 我甚至不知道这两个选项是否可行,更不用说可行了。 如果是的话,两种解决scheme的优缺点是什么?
编辑:在这种情况下,反向代理是nginx, 服务提供服务器是一个Node.js服务器。
我build议你的情况两个。 有一个专门的服务器处理ssl / tls的东西是一个很好的做法。
当你的软件devise开始变得更广泛时,你可能需要在两个NodeJS实例之间进行负载均衡。 在这种情况下,当反向代理可以查看传输的数据时,会话粘性和类似的东西更容易(只有当它自己执行encryption时)
如果你期望你的devise会改变,并且反向代理和NodeJS实例将被移动到不同的服务器上,你应该从一开始就计划encryption,否则你会通过networking传输未encryption的数据。
因为我们都位于德国:即使您只是“传输会话数据”,我经常看到编写的软件不支持encryption,这在德国安全人员要求100%encryption的环境中使用时会导致严重问题。 所以取决于你的计划是什么,你应该三思而后行,比较简单和安全。
在代理中执行https还有另一个好处:您可以稍后将部分站点移到不同的服务器,同时保留一个面向用户的域和一个证书。