<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">Hi Eric,<br><div><br><blockquote type="cite"><div>On 9 Mar 2023, at 10:56, Eric Germann via nginx <nginx@nginx.org> wrote:</div><br class="Apple-interchange-newline"><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">I’m having an issue where I (think I) have enabled HTTP3 correctly on my nginx server.  When I connect to the server the first time, it indicates HTTP/2 in the logs.  If I hit refresh it indicates HTTP/3 from then on. </div></div></blockquote><div><br></div><div>Normally you connect to the server using regular https first (http/2 is probably an option as well).</div><div>Only after that the client analyses Alt-Svc response header and tries http/3.</div><div><br></div><blockquote type="cite"><div><div style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">So something is wrong with the configuration of the server to offer headers to negotiate it.  I’ve even added HTTPS DNS records to indicate the preferred connection schemes.  </div></div></blockquote><blockquote type="cite"><div><div style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">Bonus points if you can help me get QUIC working too.<div><br></div><div>The result of <a href="http://http3check.net/">http3check.net</a> is "<span style="color: rgb(149, 149, 149); font-family: -apple-system, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; orphans: 2; text-align: justify; widows: 2;">HTTP/3 Check could not get the server's advertised QUIC versions due to the error given below.</span><div class="uk-margin" style="font-size: 16px; margin-bottom: 0px; color: rgb(136, 136, 136); font-family: -apple-system, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-variant-ligatures: normal; orphans: 2; widows: 2; margin-top: 20px !important;"><div class="ls-table uk-margin-auto uk-width-expand uk-alert-danger uk-alert" uk-alert="" style="position: relative; margin-bottom: 20px; padding: 8px 16px; background-color: rgb(254, 244, 246); color: rgb(240, 80, 110); box-sizing: border-box; width: 640px; max-width: 100%; flex: 1 1 0%; min-width: 1px; border-radius: 5px; margin-left: auto !important; margin-right: auto !important;"><table class="uk-table uk-margin-auto" style="border-collapse: collapse; border-spacing: 0px; width: 608px; margin-bottom: 0px; font-size: 0.85em; margin-top: 0px; margin-left: auto !important; margin-right: auto !important;"><tbody><tr style="transition: background-color 0.1s linear 0s;"><td style="padding: 0px 12px; vertical-align: text-bottom; word-break: break-word;">Bad status code from server.</td></tr></tbody></table></div></div><div>
<meta charset="UTF-8"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; font-family: Helvetica; font-style: normal; font-weight: normal; font-size: 15px; text-align: start; text-indent: 0px;"></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></blockquote><div>Can you please check nginx error.log for errors? If no errors, can you please enable debugging and send the error.log to me.</div><br><blockquote type="cite"><div><div style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div><div><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="text-align: start; text-indent: 0px; overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; font-family: Helvetica; font-style: normal; font-weight: normal; font-size: 15px; text-align: start; text-indent: 0px;"><span style="font-family: InputMono-Regular;">Thanks in advance for any pointers</span></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; font-family: Helvetica; font-style: normal; font-weight: normal; font-size: 15px; text-align: start; text-indent: 0px;"><span style="font-family: InputMono-Regular;"><br></span></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; font-family: Helvetica; font-style: normal; font-weight: normal; font-size: 15px; text-align: start; text-indent: 0px;"><span style="font-family: InputMono-Regular;">Eric</span></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; font-family: Helvetica; font-style: normal; font-weight: normal; font-size: 15px; text-align: start; text-indent: 0px;"><span style="font-family: InputMono-Regular;"><br></span></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; font-family: Helvetica; font-style: normal; font-weight: normal; font-size: 15px; text-align: start; text-indent: 0px;"><span style="font-family: InputMono-Regular;">Source code was pulled 2023-02-27</span></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; font-family: Helvetica; font-style: normal; font-weight: normal; font-size: 15px; text-align: start; text-indent: 0px;"><span style="font-family: InputMono-Regular;"><br></span></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; font-family: Helvetica; font-style: normal; font-weight: normal; font-size: 15px; text-align: start; text-indent: 0px;"><span style="font-family: InputMono-Regular;"><br></span></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; font-family: Helvetica; font-style: normal; font-weight: normal; font-size: 15px; text-align: start; text-indent: 0px;"><span style="font-family: InputMono-Regular;">Build information is:</span></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; font-family: Helvetica; font-style: normal; font-weight: normal; font-size: 15px; text-align: start; text-indent: 0px;"><span style="font-family: InputMono-Regular;"><br></span></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; text-align: start; text-indent: 0px;"><div><font face="Courier New"><span style="font-style: normal;">nginx version: nginx/1.23.4</span></font></div><div><font face="Courier New"><span style="font-style: normal;">built by gcc 7.3.1 20180712 (Red Hat 7.3.1-15) (GCC) </span></font></div><div><font face="Courier New"><span style="font-style: normal;">built with OpenSSL 3.0.8+quic 7 Feb 2023</span></font></div><div><font face="Courier New"><span style="font-style: normal;">TLS SNI support enabled</span></font></div><div><font face="Courier New"><span style="font-style: normal;">configure arguments: --with-threads --with-cc-opt='-static -static-libgcc' --with-ld-opt=-static --with-debug --with-compat --with-file-aio --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-stream_realip_module --with-http_realip_module --with-http_secure_link_module --with-http_random_index_module --with-http_geoip_module --with-http_ssl_module --with-http_v2_module --with-http_v3_module --with-stream_quic_module --with-http_sub_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-cc-opt=-I/usr/local/include --with-ld-opt=-L/usr/local/lib --with-openssl=../quictls --with-openssl-opt=enable-tls1_3 --add-module=/source/ngx_brotli</span></font></div><div style="font-family: Helvetica; font-style: normal; font-weight: normal; font-size: 15px;"><br></div><div style="font-family: Helvetica; font-style: normal; font-weight: normal; font-size: 15px;"><br></div><div style="font-family: Helvetica; font-style: normal; font-weight: normal; font-size: 15px;">Pertinent config for the server block is</div><div style="font-family: Helvetica; font-style: normal; font-weight: normal; font-size: 15px;"><br></div><div><div><font face="Courier New"><span style="font-style: normal;">    upstream httpd_backend {</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        server 172.28.10.91:443;</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">        keepalive 120;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">    }</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">    log_format quic '$remote_addr - $remote_user [$time_local] '</span></font></div><div><font face="Courier New"><span style="font-style: normal;">                        '"$request" $status $body_bytes_sent '</span></font></div><div><font face="Courier New"><span style="font-style: normal;">                        '"$http_referer" "$http_user_agent" "$http3"';</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">    access_log logs/access.log quic;</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">    # NON-SSL</span></font></div><div><font face="Courier New"><span style="font-style: normal;">    server {</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        listen                  80;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        listen                  [::]:80;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        server_name             www.example.com;</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">        location / {</span></font></div><div><font face="Courier New"><span style="font-style: normal;">          rewrite               ^ https://www.example.com$request_uri?/ permanent;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        }</span></font></div><div><font face="Courier New"><span style="font-style: normal;">    }</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">    # SSL</span></font></div><div><font face="Courier New"><span style="font-style: normal;">    server {</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        listen                  443             ssl http2;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        listen                  [::]:443        ssl http2;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        listen                  443             http3 reuseport;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        listen                  [::]:443        http3 reuseport;</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">        quic_retry              on;</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">        server_name             noc2.semperen.com;</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">        # Set up your cert paths</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        ssl_certificate_key             /etc/letsencrypt/live/www.example.com/privkey.pem;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        ssl_certificate                 /etc/letsencrypt/live/www.example.com/fullchain.pem;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        ssl_trusted_certificate         /etc/letsencrypt/live/www.example.com/chain.pem;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        ssl_dhparam                     SSLKeys/dhparam.pem;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        ssl_protocols                   TLSv1.3;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        ssl_prefer_server_ciphers       On;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        ssl_ciphers                     TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-256-GCM-SHA384:AES256+EECDH:AES256+EDH:!aNULL:!CBC;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        ssl_ecdh_curve                  secp384r1;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        ssl_early_data                  on;</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">        # enable ocsp stapling</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        ssl_stapling on;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        ssl_stapling_verify on;</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">        resolver 8.8.4.4 8.8.8.8 valid=86400s;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        resolver_timeout 10s;</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">        # upgrade to HTTP3 and HTTP2</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        add_header alt-svc              'h3=":443"; ma=86400, h2=":443"; ma=86400';</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        add_header alt-svc              'h2=":443"; ma=86400; persist=1';</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        add_header alt-svc              'h2=":443"; ma=86400;';</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">        add_header X-Frame-Options      "SAMEORIGIN";</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">        # tell users to go to SSL version next time</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        add_header Strict-Transport-Security "max-age=31104000; includeSubdomains" always;</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">        # handle brotli compression</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        brotli                          on;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        brotli_static                   on;</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;"><span class="Apple-tab-span" style="white-space:pre">    </span># Note this is one line, even if it wraps and renders as two</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        brotli_types                    text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">        brotli_buffers                  16 8k;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        brotli_comp_level               9;</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">        client_max_body_size            32M;</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">        error_page 502 /custom_502.html;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        location = /custom_502.html {</span></font></div><div><font face="Courier New"><span style="font-style: normal;">            root /usr/local/nginx/html;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">            internal;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        }</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">        location / {</span></font></div><div><font face="Courier New"><span style="font-style: normal;">            proxy_pass                  https://httpd_backend;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">            proxy_http_version          1.1;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">            proxy_buffering             on;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">            proxy_set_header            X-Forwarded-For $remote_addr;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">            proxy_set_header            X-Real-IP       $remote_addr;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">            proxy_set_header            Host            $host;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">            proxy_pass_header           Authorization;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">#           proxy_set_header            X-Scheme        $scheme;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">#           proxy_set_header            Upgrade         $http_upgrade;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">#           proxy_set_header            Connection      "upgrade";</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        }</span></font></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div><div><font face="Courier New"><span style="font-style: normal;">        location /roundcube {</span></font></div><div><font face="Courier New"><span style="font-style: normal;">            proxy_pass                  https://172.28.10.100;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">            proxy_http_version          1.1;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">            proxy_buffering             on;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">            proxy_set_header            X-Forwarded-For $remote_addr;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">            proxy_set_header            X-Real-IP       $remote_addr;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">            proxy_set_header            Host            $host;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">            proxy_pass_header           Authorization;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">#           proxy_set_header            X-Scheme        $scheme;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">#           proxy_set_header            Upgrade         $http_upgrade;</span></font></div><div><font face="Courier New"><span style="font-style: normal;">#           proxy_set_header            Connection      "upgrade";</span></font></div><div><font face="Courier New"><span style="font-style: normal;">        }</span></font></div><div><font face="Courier New"><span style="font-style: normal;">    }</span></font></div></div><div><font face="Courier New"><span style="font-style: normal;"><br></span></font></div></div><div style="text-align: start; text-indent: 0px;"><font face="InputMono-Regular"><span style="caret-color: rgb(0, 0, 0);"><br></span></font></div><div style="text-align: start; text-indent: 0px;"><font face="InputMono-Regular"><span style="caret-color: rgb(0, 0, 0);"><br></span></font></div><div style="text-align: start; text-indent: 0px;"><font face="InputMono-Regular"><span style="caret-color: rgb(0, 0, 0);"><br></span></font></div><div style="text-align: start; text-indent: 0px;"><font face="InputMono-Regular"><span style="caret-color: rgb(0, 0, 0);">--</span></font></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; font-style: normal; font-weight: normal; font-size: 15px; text-align: start; text-indent: 0px;"><font face="Arial">Eric Germann</font></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; font-style: normal; font-weight: normal; text-align: start; text-indent: 0px;"><span style="font-size: 11px;"><font face="Arial">ekgermann {at} semperen {dot} com || ekgermann {at} gmail {dot} com</font></span></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; text-align: start; text-indent: 0px;"><span style="font-size: 11px;"><font face="Arial"><font style="font-style: normal; font-weight: normal;">LinkedIn: </font><span style="font-style: normal;"><a href="https://www.linkedin.com/in/ericgermann">https://www.linkedin.com/in/ericgermann</a></span></font></span></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; text-align: start; text-indent: 0px;"><span style="font-size: 11px;"><font face="Arial">Medium:<span class="Apple-converted-space"> </span><a href="https://ekgermann.medium.com/">https://ekgermann.medium.com</a> </font></span></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; font-style: normal; font-weight: normal; font-size: 15px; text-align: start; text-indent: 0px;"><span style="font-size: 12px;"><font face="Arial">Twitter: @ekgermann</font></span></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; font-style: normal; font-weight: normal; font-size: 15px; text-align: start; text-indent: 0px;"><span style="font-size: 11px;"><font face="Arial">Telegram || Signal || Skype || WhatsApp || Phone +1 {dash} 419 {dash} 513 {dash} 0712</font></span></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; font-family: Helvetica; font-style: normal; font-weight: normal; font-size: 15px; text-align: start; text-indent: 0px;"><span style="font-family: InputMono-Regular; font-size: 11px;"><br></span></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; text-align: start; text-indent: 0px;"><font face="InputMono-Regular" style="font-family: Helvetica; font-style: normal; font-weight: normal; font-size: 15px;"><span style="font-size: 12px;">GPG Fingerprint:<span class="Apple-converted-space"> </span></span></font><font face="Arial"><span style="font-style: normal; font-size: 11px;">89ED 36B3 515A 211B 6390  60A9 E30D 9B9B 3EBF F1A1</span></font></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal; text-align: start; text-indent: 0px;"><br></div><div style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal;"><font face="InputMono-Regular"><span style="font-style: normal; font-size: 11px;"><br></span></font></div></div><font face="InputMono-Regular" style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal;"><span style="font-style: normal; font-size: 11px;"><br class="Apple-interchange-newline"></span></font></div><font face="InputMono-Regular" style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px; font-variant-caps: normal;"><span style="font-style: normal; font-size: 11px;"><br class="Apple-interchange-newline"></span></font></div><font face="InputMono-Regular" style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; -webkit-text-stroke-width: 0px;"><span style="font-style: normal; font-size: 11px;"><br class="Apple-interchange-newline" style="caret-color: rgb(0, 0, 0); font-variant-caps: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"></span></font><br class="Apple-interchange-newline"></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</div>

<br></div></div>_______________________________________________<br>nginx mailing list<br>nginx@nginx.org<br>https://mailman.nginx.org/mailman/listinfo/nginx<br></div></blockquote></div><br><div>
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div>----</div><div>Roman Arutyunyan</div><div>arut@nginx.com</div><div><br></div></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">

</div>
<br></body></html>