nginx对前端跨域(CROS)访问的处理
之前跨域处理的header都是后端返回的.昨天改回nginx来添加这个header,感觉这样写比较好用清晰,所以记录一下.
注意在allow headers添加上自己额外增加的header就好了,比如我们header添加了token,所以这里也加了.
1 | set $origin '*'; |
之前跨域处理的header都是后端返回的.昨天改回nginx来添加这个header,感觉这样写比较好用清晰,所以记录一下.
注意在allow headers添加上自己额外增加的header就好了,比如我们header添加了token,所以这里也加了.
1 | set $origin '*'; |
GraghQL的介绍,概览和概念,参考 官方介绍
让我们构建一个基本的GraphQL schema.
1 | pip install "graphene>=2.0" |
一个描述你数据模型的GraphQL Schema,和提供GraphQL 服务,关联对应的解析方法,该方法知道怎样获取对应的数据.
我们将创建一个非常简单的schema,一个Query
,只有一个field:hello
和输入名字.当我们查询它,它应当返回`”Hello {argument}”.
1 | import graphene |
然后我们开始查询我们的schema:
1 | result = schema.execute('{ hello }') |
最近consul节点被意外终止后,重新运行.发现该节点下的服务均无法注册上去.
看日志,发现类似的错误
1 | rpc error making call: failed inserting node: Error while renaming Node ID: "xxxxx": Node name node2 is reserved by node xxxxxx-xxxxx-384e-0bf4-xxxxx with name node2 |
日志里两个node id是不一样的. 估计是重启后,生成了新的node id.这和挂掉之前,存在consul server中的 node2的id不一致,导致冲突.
上面例子中,我是在节点2执行了一个 consul leave
的动作就好了.
1 | docker exec consul consul leave |
如果不行,就 离开集群 -> 重启consul -> 加入集群
另外看到其它应该可行的方法,但是我没有尝试.
以上问题,主要是因为生成了新的node id 导致的node id冲突. 那不让它生成不就好了.
启动时加入-disable-host-node-id
或者指定node id -node-id=$(uuidgen | awk ‘{print tolower($0)}‘)
node id必须是guid格式
如: @app.route('/')
1 | # -*- coding: utf-8 -*- |
@app.route('/')
还可以附带options.如限定特定的method. @app.route(rule='/',methods=['GET','POST'])
app.add_url_rule('/',view_func=index)
实际上注解也是调用了这个接口,来注册的.只不过用了闭包形式来封装注册过程显得更为简洁.
1 | # -*- coding: utf-8 -*- |
容器是一个视图隔离、资源可限制、独立文件系统的进程集合。
运行容器所需要的所有文件集合 - 容器镜像
Dockerfile - 描述镜像构建步骤
构建步骤所产生出文件系统的变化 - changeset
宽:
1200px
用途 | 颜色 |
---|---|
背景色 | #EEEEEE |
文字颜色1 | #EEEEEE |
文字颜色2 | #333333 |
组件颜色 - Sinbad | #66CCCC |
组件颜色 - Sinbad Light | #99CCCC |
组件颜色 - Golden Sand | #FFCC66 |
组件颜色 - Golden Sand Light | #FFCC99 |
组件颜色 - Gray | #555555 |
组件颜色 - Gray Light | #888888 |
组件颜色 - Sweet Pink | #FF6666 |
组件颜色 - Sweet Pink Light | #FF9999 |
高饱和度: https://flatuicolors.com/palette/se
1 | yum -y install yum-utils |
配置证书 certbot --nginx
根据提示生成证书
配置定时续约证书
crontab -e
1 | 0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew |
好了没了,就这么简单
因为最近换了jenkins地址,之前CI环节依赖的gitee webhook。但是之前webhook的URL写的是ip。所以需要批量修改。
然而仓库上百个,头皮发麻。不过好在看到gitee有提供了API,虽然没找到sdk,但是也好很多了。
简单写了一个,放上来存档。