之前一直忽视了这个问题,直接导致taiga-front的部署的时候不能通过其他IP访问。

如图:

首先是提示

app-loader.js:1  Your conf.json file is not a valid json file, please review it.

这样导致用默认的conf 也就是后面那句:

Failed to load resource: net:localhost:8000/api/v1/stats/discover Failed to load :ERR_CONNECTION_REFUSED

现在因为部署版本的conf.json读取失败(因为注释的原因),导致加载了默认的开发时配置。默认的conf.json:

{
"api": "http://localhost:8000/api/v1/",
"eventsUrl": null,
"eventsMaxMissedHeartbeats": 5,
"eventsHeartbeatIntervalTime": 60000,
"debug": true,
"debugInfo": false,
"defaultLanguage": "en",
"themes": ["taiga"],
"defaultTheme": "taiga",
"publicRegisterEnabled": true,
"feedbackEnabled": true,
"privacyPolicyUrl": null,
"termsOfServiceUrl": null,
"maxUploadFileSize": null,
"contribPlugins": [] }

而部署版的conf.json:

{
"api": "http://192.168.1.152/api/v1/",
"eventsUrl": "ws://192.168.1.152/events",
"debug": true,
"publicRegisterEnabled": true,
"feedbackEnabled": true,
"privacyPolicyUrl": null,
"termsOfServiceUrl": null,
"maxUploadFileSize": null,
"contribPlugins": []
}

最大的区别就是后端api 的地址

localhost:8000。相当于本机开发前端,在本机起后端。

而部署时,这里是要替换成域名或主机IP的。

1客户机访问 ip地址(80端口)

2nginx相应请求,跳转的taiga-frontend

3frontend对后端发起请求,即调用ip地址/api/...

4前端节点的nginx根据后面的/api 做反代,才转到内网后端IP:端口/api/...上

那么如果用默认conf.json从外网访问,没有访问taiga主机的IP,而是去找客户机的localhost:8000,直接导致无法注册、跳转(直接卡死在首页上)

——其实,taiga这样设计也有问题,第3步,按说应该完全封装内网不应该找不到,不应该再从客户端看见这种报错了。

——解决方案:老实把注释删了,留下11行的json

心得:不要想当然,要相信报错。

自己用pyhon的json.load() 读一下conf.json,就确认无疑了,再去上网查一下,就确认问题了。

直接用报错信息搜索,是搜不到答案的。(也许恰恰是自己太弱智了,别人都没遇到)。

——后记,之后还时报这个错,发现另外一个问题:

frontend 复制配置文件在 COPY或-v挂源代码之前了。这样根据docker image的堆叠机制,导致conf.json被覆盖(没有)

源码的配置文件,是源码的一部分,在外面生成好,一起挂进去,OK

json文件不能有注释的更多相关文章

  1. JSON文件加注释的7种方法

    JSON文件加注释的7种方法 缺省不能加注释,现实有需求 根据JSON规范(http://www.json.org, RFC 4627, RFC 7159),不支持注释.JSON规范之所以不允许加注释 ...

  2. Eclipse中JSON文件报错,如何解决?

    eclipse里面的JSON文件老报错,虽然可以正常运行,但红X看起来就是不爽,怎么解决呢? 这是因为Eclipse认为JSON文件不需要注释,所以报的编译错误,我们可以通过Eclipse的设置把它的 ...

  3. Json 文件注意事项

      Json文件不能添加注释 Json 多余逗号删除 Json 格式: 双引号 " " 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组   JSON 值可以是: ...

  4. Eclipse的JSON文件报错解决

    有时候我们后端老哥不想写HTML,偷懒去下载个前端页面,结果里面的JSON文件老报错 虽然可以正常运行,但红X看起来就是不爽,怎么解决呢 这是因为Eclipse认为JSON文件不需要注释,所以报的编译 ...

  5. json 文件注释

    json文件注释: "_comment":"this is commets", "jsondata":{ "注释":&q ...

  6. ios项目里扒出来的json文件

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0. ...

  7. cocos2d-x 读取 json 文件并用 jsoncpp 做解析

    一码胜万言(请看注释) CclUtil.h // // CclUtil.h // PracticeDemo // // Created by kodeyang on 8/1/13. // // #if ...

  8. json文件报expected name at 1 1错误

    在eclipse编辑json文件时出现expected name at 1 1错误,解决方式如下: 方法一:json文件是不支持注释的,把所有/* content */删除即可 如果不想删除注释-- ...

  9. 基于gulp编写的一个简单实用的前端开发环境好了,安装完Gulp后,接下来是你大展身手的时候了,在你自己的电脑上面随便哪个地方建一个目录,打开命令行,然后进入创建好的目录里面,开始撸代码,关于生成的json文件请点击这里https://docs.npmjs.com/files/package.json,打开的速度看你的网速了注意:以下是为了演示 ,我建的一个目录结构,你自己可以根据项目需求自己建目

    自从Node.js出现以来,基于其的前端开发的工具框架也越来越多了,从Grunt到Gulp再到现在很火的WebPack,所有的这些新的东西的出现都极大的解放了我们在前端领域的开发,作为一个在前端领域里 ...

随机推荐

  1. django 把函数装饰器变为方法装饰器

    暗暗啊

  2. MySQL修改库名的方法

    先创建新的库,再用RENAME TABLE 语句移动旧库中的表到新库,最后删除旧库. (root@localhost) [(none)] create database mydb_2; Query O ...

  3. Docker学习笔记之保存和共享镜像

    0x00 概述 让 Docker 引以为傲的是它能够实现相比于其他虚拟化软件更快的环境迁移和部署,在这件事情上,轻量级的容器和镜像结构的设计无疑发挥了巨大的作用.通过将容器打包成镜像,再利用体积远小于 ...

  4. Golang实现二分查找法

    二分查找法就是实现在一组有序的数字数组集合中最快找到指定元素的下标 思路 ①先找到中间的下标middle = (leftIndex + RightIndex) /2 ,然后让中间的下标值和FindVa ...

  5. php操作共享内存shmop类及简单使用测试(代码)

    SimpleSHM 是一个较小的抽象层,用于使用 PHP 操作共享内存,支持以一种面向对象的方式轻松操作内存段.在编写使用共享内存进行存储的小型应用程序时,这个库可帮助创建非常简洁的代码.可以使用 3 ...

  6. hihocoder [Offer收割]编程练习赛14

    A.小Hi和小Ho的礼物 谜之第1题,明明是第1题AC率比C还要低.题目是求在n个不同重量袋子选4袋,2袋给A,2袋给B,使2人获得重量相同,求问方案数. 我也是一脸懵b...o(n2)暴力枚举发现把 ...

  7. centOS6.8开放防火墙端口

    1.找到防火墙配置文件,/etc/sysconfig/iptables.如果是新装的linux系统,防火墙默认是被禁掉的,没有配置任何防火墙策略,所以不存在iptables.需要在控制台使用iptab ...

  8. chrome浏览器中的百度搜索引擎总是先自动跳转到百度首页怎么办?

    1.修改百度搜索引擎代码如下: http://www.baidu.com/s?wd=%s&ie={inputEncoding} 备注:现在chorme不能直接在默认的百度搜索引擎上修改,而且自 ...

  9. route 工具

    route工具 route工具主要用来查看或修改内核路由表 查看内核路由表 route [-nee] 参数说明: -n:不要使用协议或主机名称,直接使用 IP 或 port number:-ee:使用 ...

  10. Flask学习【第1篇】:Flask介绍

    Flask介绍(轻量级的框架,非常快速的就能把程序搭建起来) Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是So ...