【发布时间】:2017-02-04 14:53:36
【问题描述】:
我在 docker elastic beanstalk 中托管了 django 应用程序,它使用 nginx。对于 SSL,我使用的是 aws 证书。 要将 http 重定向到 https,我尝试在 docker 容器内使用 nginx 使用“x_forwarded_proto”,但出现 502 错误。这是 nginx 配置:
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; #
}
}
谁能提出更好的解决方案。
【问题讨论】: