• nginx权限问题导致反代时报net::ERR_INCOMPLETE_CHUNKED_ENCODING
    nginx权限问题导致反代时报net::ERR_INCOMPLETE_CHUNKED_ENCODING无评论

    transmission可以启动一个http服务器,默认监听9091端口,就可以利用服务器的带宽下片,而且有公网优势,不存在内网还需要UPnP才能正常使用bt的p2p,于是在服务器上的nginx给个域名起个反代,最初用的还正常,但是最近突然发现页面加载不出来了……查看F12,只有jquery-ui.min.js会报net::ERR_INCOMPLETE_CHUNKED_ENCODING,而其他文件都正常加载。

    ERR_INCOMPLETE_CHUNKED_ENCODING的错误发生在用Transfer-Encoding:chunked方式发送内容时,发送了一半还没等到结束符就关闭了连接,Go[……]

    Read more

    Read more
  • weex初探
    weex初探无评论

    前言

    厂里需要快速出一个集成推送的app,功能方面先用webview凑合,但是厂里没有移动端开发,所以我就想到了ionic,React Native和Weex。
    ionic以前用过,几乎是纯webview实现,好处是可以和现有的网页上angular无缝对接,不过鉴于网页端本来就有点卡,所以这次想尝试混合开发。

    然后在RN和Weex之间犹豫了一阵,最终由于我更熟悉Vue,所以打算试一下Weex

    ios编译过不去

    第一个坑是iOS编译过不去,报fatal error: 'ATSDK/ATManager.h' file not found,这个网上已经有解决方案了,只要把platfor[......]

    Read more

    Read more
  • 又拍云bug导致post请求源站抛出500时会处理成504
    又拍云bug导致post请求源站抛出500时会处理成504无评论

    0x00 发现

    这次故障是在厂里生产环境发现的,表现为:
    1. 接口遇到错误时服务器抛出500错误,但是前端迟迟拿不到响应
    2. 前段pending很久之后拿到cdn返回的504错误

    0x01 分析

    最初是认为后端对500的响应处理有问题,但是这个问题仅在生产环境上可复现,测试环境和本地开发均能够正常的返回500。
    由于项目的历史原因,并没有完善的access log可以查看,所以先发布了一版带access log的版本观察,日志也显示线上环境能够正常返回500状态码,nginx日志也证实了这一点

    后来检查服务器日志的时候发现,一旦请求发生了500错误,请求都会被重复一次,而如果请[……]

    Read more

    Read more
  • 用ZeroTier重构p2p vpn
    用ZeroTier重构p2p vpn有5条评论

    前篇

    安装

    下载地址

    全平台,支持windows\linux\osx

    windows和osx都有图形界面,瞎几把点也能会用,这里说一下linux下的用法

    以centos为例,执行官方安装脚本其实是添加了一个rpm源并且调用yum下载,也可以手工下载rpm安装
    https://download.zerotier.com/ https://download.zerotier.com/zerotier-one-x64.rpm https://download.zerotier.com/zerotier-one-x86.rpm

    官方github

    下载完成后rpm -ivh zeroti[......]

    Read more

    Read more
  • 用tinc搭建p2p vpn
    用tinc搭建p2p vpn无评论

    0x00 需求

    计划恢复炉心工艺的fmc.moe域名正常使用,但是moe域名没法备案,数据库在国内服务器上,不太想搬,于是只好把域名解析到国外服务器上,然后再反代回国。

    但是同域名反代还是会遇到备案被拦截问题,于是就需要走加密协议传输或者干脆起跨机房内网

    但是我有很多台服务器,而且几乎都是跨机房的,从ucloud到阿里云,墙外有hostker和conoha,如果用普通的vpn解决方案,所有流量都得有一台服务器中转,延迟就会几乎*2,非常糟心,于是就需要一个靠谱的p2p vpn方案。

    0x01 选型

    openvpn

    openvpn自带p2p模式,但是openvpn的p2p模式一个守护[……]

    Read more

    Read more
  • 解决logstash启动过慢的问题
    解决logstash启动过慢的问题无评论

    最近在搭elk时,发现logstash在服务器上要花费将近10分钟才能启动完成开始pipeline

    而我用的机器是ucloud的2C4G,不太可能是服务器性能的瓶颈

    查资料后发现和jruby的启动有关,于是找到了这个issue

    https://github.com/elastic/logstash/issues/5507

    提到了jruby wiki里的一段话

    When JRuby boots up, the JDK libraries responsible for random number generation go to /dev/random for (at least[……]

    Read more

    Read more
  • 记录一处discuz不兼容php7导致UCenter通信失败
    记录一处discuz不兼容php7导致UCenter通信失败无评论

    dz版本,discuz! F1.0
    UCenter的通信测试的实质,是一个script脚本,调用地址是
    /uc_server/admin.php?m=app&a=ping&inajax=1&url=https%3A%2F%2Fexample.com&ip=&appid=1&random=1230195151&sid=sdsfsddfd
    直接访问就能看到报错

    此处的代码是

    而php5到php7有一个breaking change和类方法动态调用有关

    http://p[……]

    Read more

    Read more
  • 2016年终总结
    2016年终总结有1条评论

    距离2016年结束还有不到两个星期,是时候想想今年都干了些什么了

    年初的时候由于原厂架构变更,使用rabbitmq作为消息中间件,做服务拆分和为服务化,于是搞出了carrotmq 简化官方sdk使用难度,一度爬上npm下载量前5%

    conoha服务器被封了一次,原因是翻着墙操作了在cohona的控制台充了钱,随后和客服交涉(可以用中文发,虽然回复是日文的)后解除了,但是也被告知仅此一次。

    炉心工艺从5周目开始解决了玻璃不防雨的问题,以前的问题是Bukkit下World.getHighestBloc(Position)方法会忽略透明方块,于是玻璃会被忽略从而判断玩家站在露天的地方。
    解决方[……]

    Read more

    Read more
  • 解决微博挂件不支持HTTPS导致浏览器报混合内容
    解决微博挂件不支持HTTPS导致浏览器报混合内容无评论

    由于微博挂件不支持HTTPS,即使把调用的网址改成https的,也会由于返回的页面里引用的内容全部都是http而报混合内容。但是其实手工访问每个引用内容,都是支持HTTPS的,但是新浪太坑,全部按照http返回了。

    最近突然在Chrome的开发者工具里看见了所有https请求都会携带一个Upgrade-Insecure-Requests:1头,Google后发现这个头允许浏览器自动升级http协议到https协议,对应的需要让服务端发来一个Content-Security-Policy: upgrade-insecure-requests,就可以让浏览器自动升级协议了。

    https

    于是在ngin[……]

    Read more

    Read more

Back to Top