Nginx /反向代理中的Https

时间:2018-08-21 14:14:24

标签: node.js express nginx https reverse-proxy

所以我试图将express / nodejs应用程序从http移到https。它位于2台nginx服务器后面,第一个解析名称并重定向到应用程序的IP,第二个是与应用程序位于同一盒子上的反向代理。我只是想知道在链中的哪一点需要处理https流量?我假设(但实际上不知道/无法找到任何示例)它将在第一个nginx上进行设置,该第一个nginx将使用证书和密钥进行设置,并且到达第二个nginx(反向代理)的所有流量现在都已经被解密并且可以采取行动和以前一样。这是在一个大型内部网络上,在那里我无法直接控制第一个nginx,因此在继续操作之前,请先确定如何做到最好。

感谢您的帮助/提示!

1 个答案:

答案 0 :(得分:0)

是的,第一个Nginx应该是处理SSL的那个。您可以在此处配置它以侦听传入的SSL请求:

server {
    listen              443 ssl;
    server_name         www.angus.com;
    ssl_certificate     www.angus.com.crt;
    ssl_certificate_key www.angus.com.key;
    ...
}

我不知道您是否已有证书,但是如果您需要免费的证书,我使用了Let's Encrypt CA https://letsencrypt.org/getting-started/的Certbot ACME客户端,该客户端生成并配置了一些SSL设置过程。使用此certbot的特别好处是,您可以在其他软件引擎(如Apache)和您使用的操作系统中选择“ Nginx”,它将提供安装安装说明,用于配置Nginx的应用程序以及一种方法。更新您的证书。