Ich habe Django-Anwendung in Docker elastische Bohnenstange gehostet, die nginx verwendet. Für SSL benutze ich ein Zertifikat von aws. Um http zu https umzuleiten versuchte ich "x_forwarded_proto" mit trhe nginx innerhalb des Docker-Containers, aber ich bekomme einen Fehler 502. Hier ist die Nginx-Konfig:wie ich http zu https in nginx Docker elastische Bohnenstange umleiten
server {
listen 80 default_server;
server_name www.example.com;
access_log /home/docker/logs/nginx-access.log;
error_log /home/docker/logs/nginx-error.log;
if ($host !~* ^(www.example.com|example.com)$) {
return 444;
}
if ($http_x_forwarded_proto != 'https') {
return 301 https://$host$request_uri;
}
location/{
uwsgi_pass unix:/var/sockets/api.sock;
include /home/docker/server/uwsgi_params; #
}
}
Kann jemand eine bessere Lösung dafür vorschlagen.
normalerweise können wir dies verwenden, um http zu https umzuleiten. Aber ich verwende SSL-Zertifikate von AWS Certificate Manager. Daher kann ich den Speicherort des SSL-Zertifikats in der nignx-Konfiguration nicht definieren, was zu Fehlern führt. Ich folgte diesem Blog https://www.uvd.co.uk/blog/using-aws-certificate-manager-nginx/ – Nijo