首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >nginx:上行SSL,它是如何在后端加密的?

nginx:上行SSL,它是如何在后端加密的?
EN

Server Fault用户
提问于 2019-02-14 14:11:58
回答 1查看 1.7K关注 0票数 1

我一直在研究这个问题,却找不到确切的答案。在部署到生产之前,我确实试图了解这一点,而且我发现的大多数nginx资源都不清楚在向代理提供流量时,nginx背后发生了什么。

基本上,我试图加密来自nginx的客户端请求,以及从nginx加密到其背后的代理服务器的请求。在阅读完之后,以及下面的例子,我想出了一个似乎正在工作的配置。至少在客户端通过SSL接收请求时起作用。

我的问题是,我最初对加密通信量的关注是通过以下配置实现的,还是从nginx到代理服务器的连接仍然是通过http而不是https实现的:

代码语言:javascript
代码运行次数:0
运行
复制
upstream app1 {
        server app1:3000;
}

upstream app2 {
        server app2:5000;
}

server {
       listen         80 default_server;
       listen    [::]:80 default_server;
       server_name    localhost;
       return         301 https://$server_name$request_uri;
}

server {
        listen            443 ssl http2;
        listen            [::]:443 ssl http2;
        server_name       localhost;

        ssl_certificate /etc/ssl/localhost-cert.crt;
        ssl_certificate_key /etc/ssl/localhost-privkey.key;

        ssl_protocols TLSv1.2;
        ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
        ssl_prefer_server_ciphers on;

        location / {
          proxy_pass http://app1;
        }

        location /api {
          proxy_pass http://app2;
        }
}

如果从nginx到代理服务器的连接仍然是明文的,那么我将如何加密来自nginx的数据,而不是从应用服务器本身加密?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2019-02-14 14:21:25

您的配置使用普通HTTP与后端服务器联系,为了保护此路径,您也需要在此部分使用https。关于如何在官方医生中实现这一点,有一篇很好的文章

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/953950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档