71 lines
844 B
Markdown
71 lines
844 B
Markdown
# print env via Perl
|
|
|
|
Dockerfile:
|
|
|
|
```dockerfile
|
|
FROM docker.io/rockdrilla/angie-conv:v0.0.2
|
|
|
|
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'
|
|
```
|
|
|
|
---
|
|
|
|
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__
|
|
```
|
|
|
|
---
|
|
|
|
Test URI e.g. with `curl`:
|
|
```sh
|
|
curl http://127.0.0.1:8080/env
|
|
```
|