我很惊讶这个问题仍然存在,因为它可以 100% 地重现,只需以官方方式使用 Bitnami 在 AWS Lightsail 上设置 Ghost 即可。官方一步一步,没有错误,你就会遇到这个问题。我在各种论坛上看到有几个人问过这个问题,但我还没有找到任何有效的解决方案。而且我有点困惑它怎么可能仍然是一件事,再一次,它会在 100% 的时间内发生,使用官方说明使用 https 设置 Ghost。
第 1 步:在 Lightsail 中执行所有这些步骤,包括设置 https 的第 6 步。
第 2 步:单击 Ghost 管理面板中的“查看站点”(或面板中的任何其他站点预览部分)。请注意,您看不到预览,
第 3 步:尝试在线查找解决方案,并以类似的方式结束:通过键入“ghost config get url”确保 Ghost 设置为使用 https。因此,在您的 Bitnami 设置中,键入 sudo
su ghost -c "ghost 配置获取 url
第 4 步:意识到它使用的是 http,而不是 https(尽管服务器和站点在您访问它时都使用 https,所以这不是问题,这只是面板的问题)
第五步:编辑Ghost文件夹下的config.production.json,发现url确实设置为http
"url": "http://vacirca.se", "server": { "port": 2368, "host": "0.0.0.0"
第六步:修改Ghost配置文件中的url为https
第 7 步:意识到它以各种方式破坏了整个设置。例如。您根本无法访问您的博客,它只是将浏览器重定向到 127.0.0.1。或者,您最终会陷入无限的重定向循环,而您的浏览器只会拒绝。
第 8 步:尝试找到第 7 步中问题的解决方案。意识到什么都不管用。
第九步:来Stack Overflow写这篇文章。
Ok,在Lightsail 中设置Ghost 的官方文档中没有解决方案。但是我们开始了……
编辑 https.conf 文件(您可能需要 sudo):
sudo nano /opt/bitnami/apache2/conf/httpd.conf
找到以下部分:
<IfModule headers_module>
#
# Avoid passing HTTP_PROXY environment to CGI's on this or
# backend servers which have lingering "httpoxy" defects.
# 'Proxy' request header is undefined by the IETF, not list
#
RequestHeader unset Proxy early
</IfModule>
Add RequestHeader set X-Forwarded-Proto "https" 如下:
<IfModule headers_module>
#
# Avoid passing HTTP_PROXY environment to CGI's on this or
# backend servers which have lingering "httpoxy" defects.
# 'Proxy' request header is undefined by the IETF, not list
#
RequestHeader unset Proxy early
RequestHeader set X-Forwarded-Proto "https"
</IfModule>
重启 Ghost 和 Apache:
sudo /opt/bitnami/ctlscript.sh restart ghost
sudo /opt/bitnami/ctlscript.sh restart apache
您在 AWS Lightsail 上的 Ghost Bitnami 安装现在可以使用了。