Ghost 定时发文失效的解决方案
这两天,抽空把青年图摘小编Chirs多年来饱受困扰的定时发文功能给解决了

这两天,抽空把青年图摘小编Chirs多年来饱受困扰的定时发文功能给解决了。之前也曾尝试过,都以失败而告终,这次狠了心翻遍了我大谷歌,总算找到一个国外的小哥哥给出了解决方案。
失效的应用场景
采用了定时发表功能,但是,等到了时间,并没有自动发表,即使是超过设定的时间也依然还是不会发表。
失效的原因
有些人会表示,我的Ghost
很好啊,定时发文稳稳的啥事也没有。就算你去Ghost
官方github提issue,作者也表示是懵逼的。这就很尴尬了,那为啥,我大青年图摘就是不行呢?经过国外小哥哥的哭诉我知道了,就是https的跳转问题导致
的。青年图摘为了全站https
,把所有http
请求做了301
跳转到https
。然而Ghost
的配置文件里面,url
设置的却是http
。你要问我为啥你要把url
设置为http
的啊,为啥不设置为https
的啊,大哥,我也想啊,因为我只要设置为https
的,浏览器就会提示重定向过多
,网站无法访问。当初我看把url
设置为http
,效果也挺好的,只是没想到,就是因为这个“不完美”的设置,导致了定时发文的失效。
解决方案
知道了失效的原因,解决就简单了,保留nginx的配置不动,还是http 301
到https
,ghost step
的时候把url
设置为https
的,或者手动修改config.production.json
里面的url
为https
。然后解决重定向过多
的问题。
解决重定向过多的问题,只要在nginx
的配置里面多添加一个proxy header
的值即可
location / {
proxy_pass http://qingnian:2368;
...
proxy_set_header X-Forwarded-Proto $scheme; #添加这一条,解决过多重定向
}
大结局。