Nginx 前端到龙卷风
Nginx front end to tornado
我目前使用 nginx 运行 作为负载均衡器和 tornado 的反向代理。
一旦我设置我的 nginx 来处理端口 443 上的 SSL 连接并重定向到适当的龙卷风后端。我是否需要更改龙卷风配置来处理 HTTPS?我正在让 nginx 处理证书:
ssl_certificate "/etc/pki/nginx/server.crt";
ssl_certificate_key "/etc/pki/nginx/private/server.key";
到目前为止,tornado 的所有配置都是在 tornado 用作独立网络服务器并在设置中处理这些认证时
http_server = tornado.httpserver.HTTPServer(application, ssl_options={
"certfile": "server.csr",
"keyfile": "server.key",
})
我需要什么设置才能在侦听进程上提供龙卷风来处理来自 nginx 的传入 SSL 连接?
谢谢
答案取决于您是想在 nginx 和 tornado 服务器之间使用 TLS,还是允许 link 保持透明。
要加密连接,请为龙卷风服务器提供一对 certificate/key 与 nginx 将用于联系它们的主机名相匹配的对。您可能希望为此使用自签名 CA,并将 nginx 配置为信任该 CA 的后端连接。在这种情况下,您的 nginx 配置的 backends
部分将使用 https://
。
不加密 nginx 和 tornado 之间的连接(但让最终用户的流量加密),从 tornado 服务器中删除 ssl 配置并在你的 nginx backends
部分使用 http://
.
在这两种情况下,您可能希望在 Tornado HTTP 服务器中设置 xheaders=True
并添加来自 http://www.tornadoweb.org/en/stable/guide/running.html#running-behind-a-load-balancer 的 proxy_set_header
指令,以便像 request.protocol
这样的字段设置正确。
我目前使用 nginx 运行 作为负载均衡器和 tornado 的反向代理。
一旦我设置我的 nginx 来处理端口 443 上的 SSL 连接并重定向到适当的龙卷风后端。我是否需要更改龙卷风配置来处理 HTTPS?我正在让 nginx 处理证书:
ssl_certificate "/etc/pki/nginx/server.crt";
ssl_certificate_key "/etc/pki/nginx/private/server.key";
到目前为止,tornado 的所有配置都是在 tornado 用作独立网络服务器并在设置中处理这些认证时
http_server = tornado.httpserver.HTTPServer(application, ssl_options={
"certfile": "server.csr",
"keyfile": "server.key",
})
我需要什么设置才能在侦听进程上提供龙卷风来处理来自 nginx 的传入 SSL 连接?
谢谢
答案取决于您是想在 nginx 和 tornado 服务器之间使用 TLS,还是允许 link 保持透明。
要加密连接,请为龙卷风服务器提供一对 certificate/key 与 nginx 将用于联系它们的主机名相匹配的对。您可能希望为此使用自签名 CA,并将 nginx 配置为信任该 CA 的后端连接。在这种情况下,您的 nginx 配置的 backends
部分将使用 https://
。
不加密 nginx 和 tornado 之间的连接(但让最终用户的流量加密),从 tornado 服务器中删除 ssl 配置并在你的 nginx backends
部分使用 http://
.
在这两种情况下,您可能希望在 Tornado HTTP 服务器中设置 xheaders=True
并添加来自 http://www.tornadoweb.org/en/stable/guide/running.html#running-behind-a-load-balancer 的 proxy_set_header
指令,以便像 request.protocol
这样的字段设置正确。