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