Ghost部署AWS Lightsail后HTTPS混合内容及重定向问题求助
问题排查与解决步骤
1. 统一配置文件中的域名一致性
你执行ghost config url时设置的是https://<my-domain>.com,但报错里的请求域名是www.<my-domain>.com,域名前缀不匹配会直接导致混合内容问题;而重定向到127.0.0.1大概率是配置文件中存在未同步的本地访问设置。
登录Lightsail的Ghost实例,找到默认路径/var/www/ghost/config.production.json,检查并修改以下关键配置项,确保全部与你实际访问的HTTPS域名完全一致(带www或不带,必须统一):
url:设为你实际使用的完整HTTPS域名,比如https://www.<my-domain>.comserver.host:从127.0.0.1改为0.0.0.0(允许外部请求访问)server.port:保持默认2368即可
示例正确配置片段:
{ "url": "https://www.<my-domain>.com", "server": { "host": "0.0.0.0", "port": 2368 }, // 其他配置项保留默认 }
2. 修复Nginx反向代理的HTTPS请求头传递
Lightsail的Ghost实例默认用Nginx做反向代理,如果Nginx没有正确传递HTTPS标识,Ghost会误判请求为HTTP,进而触发混合内容或重定向问题。
编辑Nginx配置文件(路径通常是/etc/nginx/sites-available/ghost.conf),在location /块中添加以下请求头设置:
location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:2368; }
保存配置后重启Nginx:
sudo systemctl restart nginx
3. 同步Ghost配置并重启服务
修改完配置文件后,执行以下命令确保配置完全同步,再重启Ghost:
cd /var/www/ghost ghost config set url https://www.<my-domain>.com # 与实际域名严格一致 ghost config set server.host 0.0.0.0 ghost restart
4. 清除浏览器缓存验证
浏览器缓存的旧重定向规则可能干扰测试,建议用无痕窗口访问域名,检查订阅按钮和管理门户是否恢复正常。
内容的提问来源于stack exchange,提问作者yasii92
相关产品推荐
相关产品推荐

