安装在Docker上的Ghost使用环境变量配置了URL后无法访问,“重定向次数过多”

Light
  • 2
新手上路,请多包涵

环境: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

不附加环境变量正常

回复
阅读 2.2k
1 个回答

最近在搭建 Ghost博客时,因为使用的 Nginx不由我控制,所以也遇到了这个使用 https “重定向次数过多”的问题(url 修改为 http 就没有问题);经过搜索,得到答案: X-Forwarded-Proto 对于 SSL 尤其重要。所以,使用 Nginx or Apache 作代理时候,需要对其进行配置;如果你使用 Nginx 的话,可以作如下配置:

location / {
  proxy_set_header Host $http_host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_pass http://127.0.0.1:2368;
}

参考:

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏