环境:Nginx(带SSL)+Docker+Ghost
Docker容器运行时配置了环境变量-e URL=xxx
Nginx配置:
server {
listen 443 ssl http2;
ssl on;
server_name xxxxx.xxx;
ssl_certificate /etc/nginx/ssl/*.xxxxx.xxx.cer;
ssl_certificate_key /etc/nginx/ssl/*.xxxxx.xxx.key;
add_header Strict-Transport-Security max-age=31536000;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:80xx;
}
}
server {
listen 80;
server_name xxxxx.xxx;
add_header Strict-Transport-Security max-age=31536000;
return 301 https://xxxxx.xxx$request_uri;
}
现象:Chrome提示重定向次数过多,关闭Docker容器显示502 Bad Gateway
不附加环境变量正常
最近在搭建 Ghost博客时,因为使用的
Nginx
不由我控制,所以也遇到了这个使用https
“重定向次数过多”的问题(url 修改为http
就没有问题);经过搜索,得到答案:X-Forwarded-Proto
对于SSL
尤其重要。所以,使用 Nginx or Apache 作代理时候,需要对其进行配置;如果你使用 Nginx 的话,可以作如下配置:参考: