Ich habe einen Nginx mit Docker für meine Entwicklungsumgebung mit HTTP und HTTPS, hier ist die Konfiguration:Nginx Konfiguration hinter nginx Reverse Proxy
listen 80;
listen 443 ssl;
set_real_ip_from 10.0.0.0/8;
real_ip_header X-Real-IP;
real_ip_recursive on;
location/{
try_files $uri @rewriteapp;
}
location @rewriteapp {
rewrite ^(.*)$ /app.php/$1 last;
}
location ~ ^/(app|app_dev|app_test|config)\.php(/|$) {
fastcgi_pass php-upstream;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS $https;
}
ich HTTP und HTTPS in meiner lokalen Umgebung testen will, aber in der Produktion I haben einen nginx Reverse-Proxy vor mit:
upstream app_upstream {
server app:80;
}
server {
server_name $APP_DOMAIN;
listen 443 ssl;
ssl_certificate /run/secrets/app_cert.pem;
ssl_certificate_key /run/secrets/app_key.pem;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location/{
proxy_pass http://app_upstream;
}
}
möchte ich den Reverse-Proxy auf die Anwendung nginx nur HTTPS und nach vorne akzeptieren, aber meine PHP-Anwendung hinter empfangen wird $ _SERVER [ 'HTTPS'] = ""
Ich möchte auch SSL-Zertifikat nur auf Reverse-Proxy, wie übertrage ich HTTPS von Reverse-Proxy zu Nginx zu PHP?