我是 Ghost 的新手,我刚刚在 AWS lightsail 上设置了一个 ghost 实例。我已遵循给定的指南文件并按照文档成功执行了所有步骤
https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-quick-start-guide-ghost
但是当我完成设置并尝试查看 ghost 应用程序时,我遇到了许多与 HTTPS 相关的问题。
控制台错误在这两种情况下都很常见,如下所示
VM8:1 Mixed Content: The page at 'https://www.<my-domain>.com/' was loaded over HTTPS, but requested an insecure resource 'http://www.<my-domain>.com/members/api/member/'. This request has been blocked; the content must be served over HTTPS.
为了解决这个问题,我运行了以下命令来更新配置文件中的 ghost URL,因为之前的是非 HTTPS。
ghost config url https://<my-domain>.com
ghost restart
现在,当我尝试从浏览器转到我的应用程序时,它会重定向到 https://127.0.0.1:2368/
这里是我的 config.production.json 文件内容与 URL 相关
有人可以帮我解决这个问题吗?我在这里做错了什么吗?
我能够使用以下方法解决这个问题。
添加
RequestHeader 设置 X-Forwarded-Proto "https"
到以下文件 /opt/bitnami/apache2/conf/vhosts/APPNAME-https-vhost.conf
确保在更改 URL 并重新启动后,您在 ghost 配置 json 中的端口和 nginx/apache 配置中的代理传递是相同的。
解决此问题需要执行的步骤:
注意:在回答这个问题时,ghost 安装在带有 4.48.x 版本的 Bitnami 包的 aws lightsail 上。
1。升级幽灵
在Ghost安装目录下,执行更新命令如下:
cd /opt/bitnami/ghost
sudo su ghost -c "ghost update"
要完成更新,修改文件权限:
sudo chown ghost:bitnami -R /opt/bitnami/ghost
sudo chmod 640 /opt/bitnami/ghost/config.production.json
注:当时我升级到v5.37.x
2。配置 HTTPS 域名
转到/opt/bitnami/ghost/config.production.json 换线 :
url: 'https://<yourdomain>.com',
重启 ghost 和 apache 服务
sudo /opt/bitnami/ctlscript.sh restart ghost
sudo /opt/bitnami/ctlscript.sh restart apache
检查幽灵状态:
sudo /opt/bitnami/ctlscript.sh status ghost
你可能会得到回应:
ghost not running
3。从 LightSail 控制台重启您的 LightSail 实例
如果仅通过重启 ghost 和 apache 服务无法解决问题,则需要重启 lightsail 实例
就是这样。
资源: 幽灵升级Bitnami