HEX
Server: nginx/1.24.0
System: Linux localhost 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64
User: www (1000)
PHP: 8.3.27
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/erp.nhatnamsst.com/vendor/maennchen/zipstream-php/guides/Varnish.rst
Usage with Varnish
=============

Serving a big zip with varnish in between can cause random stream close.
This can be solved by adding attached code to the vcl file.

To avoid the problem, add the following to your varnish config file:

.. code-block::
    sub vcl_recv {
        # Varnish can’t intercept the discussion anymore
        # helps for streaming big zips
        if (req.url ~ "\.(tar|gz|zip|7z|exe)$") {
            return (pipe);
        }
    }
    # Varnish can’t intercept the discussion anymore
    # helps for streaming big zips
    sub vcl_pipe {
        set bereq.http.connection = "close";
        return (pipe);
    }