【问题标题】:Proxy HTTPS without certificate with nginx使用 nginx 代理 HTTPS 没有证书
【发布时间】:2013-07-25 16:38:43
【问题描述】:

是否可以设置 nginx 使其代理 HTTPS 连接而不解密它? 我说的是这样的事情:

server {
    listen 443 ssl;
    server_name example.com;
    location / {
        proxy_pass        https://localhost:8000;
        proxy_set_header  X-Real-IP  $remote_addr;
    }
}

我知道,nginx 很可能需要证书来添加 X-Real-IP 标头,但我可以重新加密代理吗?

我这样做的动机是,我想将流量传递到启用了 SPDY 的 Node 应用程序。但是为了能够在 Node 中使用 SPDY,我需要将解密驻留在应用程序中。

【问题讨论】:

    标签: node.js ssl https nginx spdy


    【解决方案1】:

    不,这是不可能的。 Nginx 必须使用Host 标头来匹配此服务器块的server_name。不解密请求,nginx 甚至不知道请求头信息。所以这个服务器块甚至不会被匹配。

    Nginx 1.4+ 也支持 SPDY。 http://nginx.org/en/docs/http/ngx_http_spdy_module.html。但是,它还不支持服务器推送。如果您不需要服务器推送,为什么不在 nginx 级别终止 SSL?

    【讨论】:

      【解决方案2】:

      你问的是MTIM attack,这实际上是 TLS 试图阻止的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-24
        • 1970-01-01
        • 2017-06-15
        • 1970-01-01
        • 2020-02-26
        • 2020-01-07
        • 2017-12-09
        • 1970-01-01
        相关资源
        最近更新 更多