之前一直忽视了这个问题,直接导致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. nginx 动态跨域配置

    方法一: server { ..... set $cors_origin ""; if ($http_origin ~* "a.xxxx.com") { set ...

  2. Tensorflow学习笔记03-使用神经网络做线性回归

    import tensorflow as tf import numpy as np #input就是输入数据,输入矩阵,in_size就是输入矩阵的列数(数据属性数量),out_size输出矩阵列数 ...

  3. php实现共享内存进程通信函数之_shm

    前面介绍了php实现共享内存的一个函数shmop,也应用到了项目中,不过shmop有局限性,那就是只支持字符串类型的:sem经过我的测试,是混合型,支持数组类型,可以直接存储,直接获取,少了多余的步骤 ...

  4. JavaWeb中的资源映射

    一./与/* <url-pattern>/</url-pattern>  会匹配到/login这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url< url- ...

  5. jbpm 6 vs activities 5评估(持续更新、亲测实际项目评估)

    最近我们有个使用了jbpm 6.2(6.2是一个较大的里程碑)的批处理模块,因为大BOSS一直觉得太重了,希望有更加轻量级的解决方案,因为我们基本上没有真正意义上流程的概念,只有静态的流程图,因为一直 ...

  6. 深度学习demo

    1. Stanford Convolutional Neural Network on the MNIST digits dataset http://cs.stanford.edu/people/k ...

  7. Python3基础 response.info 服务器返回的header信息

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  8. Django框架 (七) Django ORM模型

    ORM简介 查询数据层次图解:如果操作mysql,ORM是在pymysq之上又进行了一层封装

  9. noip模拟【array】

    array by ysy [题目描述] 给定一个长度为n的数列,每次你可以进行以下操作之一: (1)将一个数+a: (2)将一个数-a: (3)将一个数+b: (4)将一个数-b: 你需要将所有数全部 ...

  10. CodeForces 509C Sums of Digits(贪心乱搞)题解

    题意:a是严格递增数列,bi是ai每一位的和,告诉你b1~bn,问你怎样搞才能让an最小 思路:让ai刚好大于ai-1弄出来的an最小.所以直接模拟贪心,如果当前位和前一个数的当前位一样并且后面还能生 ...