Ghost Blog 1.0.0 在 Server 端安装好后使用 NGINX 进行反代但是 url 依旧是 localhost,如何解决

2017-06-16 23:26:48 +08:00
 AirSc
本地装好后地址是 localhost:2369,但是反代在域名上后,它依旧是本地配置,导致部分链接无法访问。

看到 1.0 好像还是 Beta 版,所以就没有 config.js。

如何解决?
3589 次点击
所在节点    问与答
26 条回复
xratzh
2017-06-16 23:36:05 +08:00
没看懂?什么链接无法访问?
AirSc
2017-06-16 23:47:40 +08:00
@xratzh 在服务器上面搭了一个 Ghost,使用 localhost 的域名,然后利用 Nginx 反代之后,内容当然显示的还是 localhost 的,但是找不到地方把用户访问的 localhost 替换成域名
xratzh
2017-06-16 23:54:23 +08:00
@AirSc 不懂,不过我写了一件脚本,你可以看看我的 github。
tayuo
2017-06-16 23:55:36 +08:00
Ghost 1.0.0 推荐使用 Ghost-CLI 进行部署

可以自动生成配置文件
AirSc
2017-06-17 00:13:23 +08:00
@tayuo 对,部署的时候填的 URL 不是 localhost 么?需要用 nginx 反代才可以给用户看。但是反代之后所有的链接都还是 localhost 的。
AirSc
2017-06-17 00:16:35 +08:00
@tayuo 比如,我在 config.production.json "url"改成了我的域名,使用反代,反代 localhost:2369,就会导致 redirected you too many times. 的错误。

Nginx 里是这样配置的:

location ^~ / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;


proxy_pass http://127.0.0.1:2369;
proxy_redirect off;
}
AirSc
2017-06-17 00:20:38 +08:00
@tayuo 比如说: https://www.airscr.com/ Logo 处和分享的时候,url 都是 127.0.0.1
xratzh
2017-06-17 00:34:05 +08:00
你在 ghost 后台设置用户的主页信息试试?
xratzh
2017-06-17 00:37:13 +08:00
@xratzh 换个 theme 试试,感觉是 theme 的锅
AirSc
2017-06-17 00:39:41 +08:00
@xratzh 没有用,使用的是默认的主题
AirSc
2017-06-17 00:42:13 +08:00
@xratzh 我还是直接替换主题里的链接好了- -
chinni
2017-06-17 01:09:25 +08:00
你需要给 nginx 编译一个 subs_filter 模块 替换下字符串
nirocfz
2017-06-17 01:41:09 +08:00
没配置 ghost 的 url 吧. 默认是不是没有 config.js, 有个 config.example.js
GoBeyond
2017-06-17 05:58:26 +08:00
你配置文件有问题吧
indust
2017-06-17 07:34:07 +08:00
1.0 版的配置文件是 config.production.json
AirSc
2017-06-17 08:28:23 +08:00
@chinni 目前我的思路就是这个。


@nirocfz
@GoBeyond
@indust 但是怎样设置用户得到的是正确域名。
AirSc
2017-06-17 08:34:38 +08:00
@indust 在 0.x 的版本里,有个 production URL 可以使输出的链接自定义,但是在 1.0 里面的 config.production.json 却没有这个功能
tayuo
2017-06-17 09:49:49 +08:00
在用 Ghost-CLI 进行 ghost setup 的时候

第一项填写网址的时候填 http://domain

不需要填写 127.0.0.1:2368
nirocfz
2017-06-17 09:56:11 +08:00
@AirSc 看看有什么配置选项,文件里没有,自己可以加上,url 这个配置是文档里的第一个配置项项啊。自己不告诉 ghost 生成的页面里 url 是什么,当然页面上不是域名。先生成了页面,再通过前面做反代的 nginx 修改页面内容,能起作用,并不合理
https://docs.ghost.org/v1.0.0/docs/configuring-ghost
Hardrain
2017-06-17 14:55:56 +08:00
关于域名是 localhost 的问题:

检查一下 config.js 中的 url:'https://yourdomain.tld'
这个地方填的是不是你的域名而非 localhost

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/369008

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX