nginx - 在反向代理服务器 + Python HTTPS 服务器中,谁应该处理 HTTPS 连接的 SSL 证书?
问题描述
假设我想使用 NGinX(可能是另一个,因为它不代理 HTTP/2 请求)和 Hypercorn 的组合。由于两者都可以处理 SSL 证书文件,我想知道谁最适合为 HTTPS 请求执行此操作。Hypercorn 可以监听 443 端口对我来说很重要,我不确定它是否可以在不指定 certfile 和 keyfile 参数的情况下做到这一点。
解决方案
嗯,这取决于你想做什么。
最简单的解决方案是将两者都配置为使用 SSL。
Nginx 将接收请求,对其进行解密,处理,并将其作为 HTTPS 客户端在端口 443 上发送到 Hypercom。Hypercom 将像任何普通的 HTTPS 客户端一样获取请求。
- 如果您的目标是安全:两者兼而有之
- 如果您的目标只是不让 hypercom 直接公开,您可以将其配置为不使用 SSL
默认情况下,Nginx 支持将请求代理到 HTTPS 上游,所以这是我认为的最佳解决方案。但是,您可能需要为 hypercom 设置 http-header 以正确了解谁是客户端X-Forwarded-For
,X-Forwarded-Host
以及 Hypercom 可能需要的任何标头。
推荐阅读
- javascript - toString() 没有显示任何内容
- mysql - Mysql排序然后插入
- angular - 在Angular 5中的Http请求中设置响应类型
- angular - 在 Angular 服务中,假设 map 函数在 Observable 内部使用时保证是同步的是否正确?
- sql - 执行时出现此错误无法绑定多部分标识符“TMaterials.intMaterialID”
- ios - 如何将类型“[ViewController.answer]”的值分配给另一个视图控制器的类型答案?
- python - 如何在线程定时器中传递参数?
- vue.js - 如何将组件中的值绑定到 App.vue 中的元素?
- javascript - 在场景轴上旋转,而不是对象
- linux - 无法使用 Kali Linux 在终端中保存 Nmap 输出