65 lines
829 B
Markdown
65 lines
829 B
Markdown
|
# print env via Perl
|
||
|
|
||
|
configuration:
|
||
|
|
||
|
```nginx
|
||
|
perl_require ngx_env.pm;
|
||
|
server {
|
||
|
listen 8080;
|
||
|
|
||
|
location / { return 204; }
|
||
|
|
||
|
location = /env
|
||
|
{
|
||
|
perl ngx_env::report;
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
|
||
|
Perl script:
|
||
|
|
||
|
```perl
|
||
|
package ngx_env;
|
||
|
|
||
|
use nginx;
|
||
|
|
||
|
sub report {
|
||
|
my $r = shift;
|
||
|
|
||
|
my $s = "";
|
||
|
for (sort keys %ENV) {
|
||
|
$s = $s . "$_=$ENV{$_}\n";
|
||
|
}
|
||
|
|
||
|
$r->discard_request_body;
|
||
|
$r->send_http_header;
|
||
|
$r->print($s);
|
||
|
|
||
|
return OK;
|
||
|
}
|
||
|
|
||
|
1;
|
||
|
|
||
|
__END__
|
||
|
```
|
||
|
|
||
|
Dockerfile:
|
||
|
|
||
|
```dockerfile
|
||
|
FROM docker.io/rockdrilla/angie-conv:v0.0.1
|
||
|
|
||
|
COPY /site/ /etc/angie/site/
|
||
|
|
||
|
## install 'angie-module-perl' and process package contents
|
||
|
RUN apt-install-angie-mod.sh perl ; \
|
||
|
apt-clean.sh
|
||
|
|
||
|
## load ngx_http_perl_module
|
||
|
ENV NGX_HTTP_MODULES='perl'
|
||
|
```
|
||
|
|
||
|
Test URI e.g. with `curl`:
|
||
|
```sh
|
||
|
curl http://127.0.0.1:8080/env
|
||
|
```
|