反向代理和SSL,我应该使用相同的证书

目前我使用nginx作为通过https的反向代理,所有代理本身都是通过https。 SSL终止发生在Nginx上,而且由于stream量已经超过了https,所以在继续之前,它会再次被encryption。

我的第一个直觉是,我面向公众的服务器必须使用签名证书,并使用nginx的SSL直通。 原来nginx不允许你这样做。 所以我开始看haproxy,因为它可以做SSL直通。

经过大量的阅读,我开始想知道这是否真的很重要。 我可以在自己的networking中使用自签名authentication。

是否有理由在我的服务器上使用nginx / haproxy上的相同证书? 是否有任何理由不使用自签名证书进行内部通信?

没有技术上的原因,您需要在内部服务器上使用外部证书,除非您拥有内部服务器也可以从外部直接访问的configuration,这在大多数环境中似乎不太可能。

在您控制SSL连接的两端(在HAProxy的背面和内部应用程序服务器的正面)的情况下,自签名是正确的。

我认为是一个更好的解决scheme,使用内部certficiate。 由于安全原因,您不会添加额外的机会来破坏您的公共证书。