首页 > 解决方案 > 在反向代理服务器 + Python HTTPS 服务器中,谁应该处理 HTTPS 连接的 SSL 证书?

问题描述

假设我想使用 NGinX(可能是另一个,因为它不代理 HTTP/2 请求)和 Hypercorn 的组合。由于两者都可以处理 SSL 证书文件,我想知道谁最适合为 HTTPS 请求执行此操作。Hypercorn 可以监听 443 端口对我来说很重要,我不确定它是否可以在不指定 certfile 和 keyfile 参数的情况下做到这一点。

标签: nginxhttpsgunicornhypercorn

解决方案


嗯,这取决于你想做什么。

最简单的解决方案是将两者都配置为使用 SSL。

Nginx 将接收请求,对其进行解密,处理,并将其作为 HTTPS 客户端在端口 443 上发送到 Hypercom。Hypercom 将像任何普通的 HTTPS 客户端一样获取请求。

  • 如果您的目标是安全:两者兼而有之
  • 如果您的目标只是不让 hypercom 直接公开,您可以将其配置为不使用 SSL

默认情况下,Nginx 支持将请求代理到 HTTPS 上游,所以这是我认为的最佳解决方案。但是,您可能需要为 hypercom 设置 http-header 以正确了解谁是客户端X-Forwarded-ForX-Forwarded-Host以及 Hypercom 可能需要的任何标头。


推荐阅读