如果反向代理或服务器本身parsingHTTPS

情况如下:

我有两台服务器在我的机器上运行。 一个是面向外的服务器,而另一个是第二个服务器的反向代理,它只监听本地主机并提供​​服务。

第二台服务器应该运行在https 。 我知道看到两个select:

  1. 只需在第二台服务器上实现https ,然后让反向代理服务器将https服务器发送给它。
  2. 在反向代理中实现https逻辑,为第二个服务器“抽象https”。

我甚至不知道这两个选项是否可行,更不用说可行了。 如果是的话,两种解决scheme的优缺点是什么?

编辑:在这种情况下,反向代理是nginx, 服务提供服务器是一个Node.js服务器。

我build议你的情况两个。 有一个专门的服务器处理ssl / tls的东西是一个很好的做法。

当你的软件devise开始变得更广泛时,你可能需要在两个NodeJS实例之间进行负载均衡。 在这种情况下,当反向代理可以查看传输的数据时,会话粘性和类似的东西更容易(只有当它自己执行encryption时)

如果你期望你的devise会改变,并且反向代理和NodeJS实例将被移动到不同的服务器上,你应该从一开始就计划encryption,否则你会通过networking传输未encryption的数据。

因为我们都位于德国:即使您只是“传输会话数据”,我经常看到编写的软件不支持encryption,这在德国安全人员要求100%encryption的环境中使用时会导致严重问题。 所以取决于你的计划是什么,你应该三思而后行,比较简单和安全。

在代理中执行https还有另一个好处:您可以稍后将部分站点移到不同的服务器,同时保留一个面向用户的域和一个证书。