snit (SNI Termination Library) to replace Nginx
Mikael Karlsson
karlsson.rm@REDACTED
Sat Nov 9 03:58:48 CET 2019
Hi,
Did you try with proxy_buffering set to on, and/or changing the
proxy_buffer_size?
Regards Mikael
Den lör 9 nov. 2019 00:14Frank Muller <frank.muller.erl@REDACTED> skrev:
> Hi guys
>
> Anyone familiar with snit?
> https://github.com/heroku/snit
>
> We’re facing a performance issue with Nginx used as TLS Termination.
> Nginx is in front of our two Erlang webapps. Both running on the same
> machine, and both based on Cowboy 2.7.0.
>
> The problem:
> [1] directly accessing the two webapps (plain HTTP) is fast enough for us,
> and Cowboy is doing just great.
> [2] accessing any of the two apps with Nginx (HTTPS) is 3x-5x slower than
> in [1]
>
> We selected Nginx for its ability to hide our apps, and be able to access
> them both on port 443 (default HTTPS).
>
> Our Nginx config is pretty simple, tuned for SSL/TLS.
> ______________________________________________
> server {
> listen 443 ssl;
>
> server_name app1.acme.com; # the 2nd webapp is running on:
> app2.acme.com
>
> ssl on;
> ssl_certificate /etc/nginx/certs/app1/crt.pem;
> ssl_certificate_key /etc/nginx/certs/app1/key.pem;
> ssl_dhparam /etc/nginx/certs/app1/dh.pem;
>
> ssl_protocols TLSv1.2;
>
> ssl_prefer_server_ciphers on;
>
> ssl_ecdh_curve
> secp384r1
>
> ssl_session_cache shared:SSL:50m;
> ssl_session_timeout 1d;
> ssl_session_tickets off;
>
> ssl_stapling on;
> ssl_stapling_verify on;
>
> resolver 8.8.8.8 8.8.4.4 valid=300s;
> resolver_timeout 5s;
>
> ssl_buffer_size 8k;
>
> keepalive_timeout 0;
>
>
> client_max_body_size 0;
> client_body_buffer_size 4m;
> client_header_timeout 300;
> client_body_timeout 300;
> client_header_buffer_size 1k;
> large_client_header_buffers 4 4k;
>
> location = /favicon.ico {
> access_log off;
> return 204;
> }
>
> location / {
> send_timeout 5;
>
> proxy_http_version 1.1;
> proxy_buffering off;
> proxy_request_buffering off;
> proxy_ignore_headers "Cache-Control" "Expires";
> proxy_max_temp_file_size 30m;
> proxy_connect_timeout 300;
> proxy_read_timeout 300;
> proxy_send_timeout 300;
> proxy_intercept_errors off;
>
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>
> proxy_pass http://127.0.0.1:2222; # the 2nd webapp has:
> proxy_pass http://127.0.0.1:3333;
> }
> }
> ______________________________________________
>
> Can snit be used to replace Nginx?
> Help and suggestions appreciated.
>
> Best
> /Frank
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20191109/95f2dd82/attachment.htm>
More information about the erlang-questions
mailing list