slow nginx behavior when using as reverse proxy for https

Maxim Dounin mdounin at mdounin.ru
Sun Sep 13 22:44:13 UTC 2020


Hello!

On Sat, Sep 12, 2020 at 12:34:15PM +0530, Bhuvan Gupta wrote:

[...]

> http {
> keepalive_timeout 65;
>     server {
>         listen      80;
>         server_name  localhost;
>         location /session {
>             proxy_pass  https://hookb.in/VGQ3wdGGzKSE22bwzRdP;
>             proxy_http_version 1.1;
>             proxy_set_header Connection "keep-alive";
>             proxy_ssl_session_reuse on;
>             proxy_socket_keepalive on;
>         }
>     }
> }
> 
> 
> 
>    1. Now from browser hit http://127.0.0.1/session and nginx will work
>    fine and proxy the content from https site.
>    But nginx response time is always 200ms more than compared to accessing
>    https site directly. Screen shot below for ref
>    *Why nignx is taking extra time , is it opening new ssl connection every
>    time or is there something else?*

The configuration you are using implies that nginx will open a new 
connection to upstream server for each proxied request.  To 
configure nginx to keep upstream connections alive, please see the 
description of the "keepalive" directive here:

http://nginx.org/r/keepalive

Notably, make sure to configure an upstream block with the 
"keepalive" directive.  Something like this at the http level 
should work, assuming no other changes in the configuration:

    upstream hookb.in {
        server hookb.in:443;
	keepalive 2;
    }

In the example above, nginx will keep up to two connections.

-- 
Maxim Dounin
http://mdounin.ru/


More information about the nginx mailing list