-
Notifications
You must be signed in to change notification settings - Fork 1
bigplum/nginx-http-nphase-module
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Notes on the nphase module --- To install, compile nginx with this ./configure option: --add-module=path/to/this/directory This module is an experimental module for providing a distribute file system by nginx. There are two phases processed looply. Phase 1: send a subrequest to backend to query file position. In case of 200 code, the subrequest would write data to client. In case of 302 code, the main request would request backend by Location header line returning, and go into phase 2 process. Phase 2: send a subrequest to backend to download file, only 200 or 206 should be accepted. If downstream sent length equal to request range, the request finished. Otherwise, main request would go to phase 1 and set request range by sent length and file size parsed from header string(X-NP-File-Size) from phase 1 backend. Given that large files stored in many backend servers. The large files are split into many small segments, and the meta information stored in a chunk server(eg. GFS). This module acts as a fronted proxy for downloading files by http. nginx.conf file example: location /down { nphase_uri /dummy; nphase_set_uri_var $np_uri; nphase_set_range_var $np_range; set $np_uri http://10.1.1.10; set $np_range "bytes=0-"; } location /dummy { proxy_pass $np_uri; proxy_set_header Range $np_range; } Changelogs v0.1 * first release
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published