没有带nginx证书的代理HTTPS

时间:2013-07-25 16:41:54

标签: node.js ssl https nginx spdy

是否可以设置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,我需要解密才能驻留在应用程序中。

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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