繁体   English   中英

Apache背后的CherryPy SSL

[英]CherryPy SSL behind Apache

有没有一种方法可以将CherryPy设置为在Apache2后面运行时使用SSL,而无需配置Apache2对CherryPy执行SSL?

我已经找到了许多关于将SSL与CherryPy一起使用以及如何配置Apache2来对CherryPy进行SSL工作的教程,但是我找不到能够在不配置Apache2来完成SSL工作的情况下将SSL与CherryPy一起使用SSL的教程。

要详细说明gcbrizan的答案,您不能这样做,因为了解https请求所需的第一步是首先解密连接。 SSL / TLS有两种模式: 隧道和STARTTLS; 在后者中,正常连接开始,并且在某一时刻,一旦两方建立了他们想对连接进行的操作; 一个对等方要求另一方开始加密连接。 ESMTP(电子邮件)使用此机制。

但是,HTTP不具有starttls功能。 所以改用隧道。 在传输任何http流量之前,双方都要启动安全隧道。 客户端验证服务器证书的正确性,并且服务器可以为客户端执行相同的操作(如果需要/请求)。 仅在所有这些情况发生之后,客户端才会发送页面请求。

是由apache(或任何其他代理)执行的,这意味着由于该通信已加密,因此必须将所有加密的通信传递到原始服务器(您的问题中的cherrypy),该代理没有机会“在此处发送此请求,但那里有此要求”。 如果它只是传递所有未经修改的流量,那么它实际上并没有做任何有帮助的事情。 您也可以直接公开原始服务器。

您不能这样做(我也不会尝试)。 首先,Apache在终止SSL方面比CherryPy更好(如果没有其他原因,则比性能更好)。 其次,它根本不起作用,因为Apache会说HTTP,而HTTPS实际上是使用SSL进行HTTP加密的,因此在获得Apache可以理解的任何HTTP之前,您需要先处理SSL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM