serving files from /proc

J Carter jordanc.carter at outlook.com
Wed Dec 13 03:19:24 UTC 2023


On Wed, 13 Dec 2023 02:45:54 +0000
J Carter <jordanc.carter at outlook.com> wrote:

> Hello,
> 
> On Tue, 12 Dec 2023 16:17:11 +0100
> Jérôme Loyet <ml at fatbsd.com> wrote:
> 
> > Hello,
> > 
> > I'm trying to serve some files from /proc but nginx return a 0 bytes
> > content because the file size of many files in /proc/ tree is simply 0 by
> > design.  
> 
> That is correct, reading Virtual File System files would require special 
> handling compared to regular files. Nginx doesn't appear to have this.
> 
> > 
> > here is my sample conf file:
> > ...
> > location = /route {
> >   root /proc/net;
> > }
> > 
> > and the result of the corresponding curl:  
> > > GET /route HTTP/1.1
> > > Host: 172.16.0.3:1513
> > > User-Agent: curl/7.68.0
> > > Accept: */*
> > >    
> > * Mark bundle as not supporting multiuse
> > < HTTP/1.1 200 OK
> > < Server: nginx/1.23.1
> > < Date: Tue, 12 Dec 2023 15:08:00 GMT
> > < Content-Type: text/plain
> > < Content-Length: 0
> > < Last-Modified: Tue, 12 Dec 2023 15:08:00 GMT
> > < Connection: keep-alive
> > < ETag: "65787750-0"
> > < Accept-Ranges: bytes
> > 
> > is there a simple way to configure nginx to return the cotent of
> > /proc/net/route or any other file in /proc ?  
> 
> For a solution entirely within nginx, you can use njs to serve /proc/net/route.
> 
> <Example of how IO with njs can be done here>
> https://github.com/nginx/njs-examples?tab=readme-ov-file#file-io-misc-file-io
> 
> Njs does handle VFS/zero sized files in a special way. If the file is zero
> sized, it will read up to 4096 bytes from the file.
> 

*Correction - it read up until EOF. So any sized VFS file will work actually
even above 4096 bytes.

> <as seen here>
> https://github.com/nginx/njs/blob/2c937050a4589bbc196db334fef22e6de772dd49/external/njs_fs_module.c#L2732
> 
> 
> > thanks
> > regards
> > ++ Jerome  
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> https://mailman.nginx.org/mailman/listinfo/nginx


More information about the nginx mailing list