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