Я вижу эти документы: https://httpd.apache.org/docs/current/mod/mod_env.html
Я хочу унаследовать / передать все переменные env от хоста в apache, чтобы я мог получить к ним доступ в скриптах CGI.Прямо сейчас cgi-скрипты будут регистрировать env-переменные следующим образом:
#!/usr/bin/env bash
env | sort | while read line; echo "$line <br>"; done
, но когда cgi-скрипт запускает это, он регистрирует только env-переменные, относящиеся к apache / httpd, но не env-переменные, полученные извнешняя среда регистрируется, но почему?
Так что я думаю, что хочу сделать что-то вроде:
PassEnv *
но это только предположение, кто-нибудь знает что-то, что может передать все переменные env?
Если быть точным, мы используем Kubernetes / (AWS EKS), вот наша конфигурация для реплик / контейнеров:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: apache-spike
spec:
replicas: 3
template:
metadata:
labels:
app: apache-spike
spec:
containers:
- name: apache-spike
image: 913617820371.dkr.ecr.us-west-2.amazonaws.com/interos_apache:latest
ports:
- name: http-port
containerPort: 8080
protocol: TCP
imagePullPolicy: Always
env:
- name: DEMO_GREETING
value: "Hello from the environment"
- name: DEMO_FAREWELL
value: "demo farewell env var"
и когда мы опишем один из модулеймы видим:
Containers:
apache-spike:
Container ID: docker://6727d6eafe2a6d229c58875c8cf2c2e9a0cff517dbe67600f965fe19eee000c1
Image: 9136xxxx0371.dkr.ecr.us-west-2.amazonaws.com/interos_apache:latest
Image ID: docker-pullable://9136xxxx0371.dkr.ecr.us-west-2.amazonaws.com/interos_apache@sha256:74f6cab7ef4e1b93123c6e61c7cbdbe5960b736f7e26e075ea5031fb838437be
Port: 8080/TCP
Host Port: 0/TCP
State: Running
Started: Tue, 07 May 2019 17:12:07 -0700
Ready: True
Restart Count: 0
Environment:
DEMO_GREETING: Hello from the environment
DEMO_FAREWELL: demo farewell env var
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-jhvnp (ro)
так что переменные окружения есть, по крайней мере.
Когда я запускаю эту команду на модуле:
kubectl exec apache-spike-579598949b-5bjjs -c apache-spike -- sh -c 'id && ps -e'
, я получаю это:
uid=0(root) gid=0(root) groups=0(root)
PID TTY TIME CMD
1 ? 00:00:04 httpd
7 ? 00:00:00 httpd
8 ? 00:00:11 httpd
9 ? 00:00:09 httpd
10 ? 00:00:09 httpd
92 ? 00:00:13 httpd
204 ? 00:00:00 sh
211 ? 00:00:00 ps