使用Docker部署Cloudflare Railgun

一.介绍

虽然这个Railgun不像炮姐的电磁炮那么屌,但是在大部分情况下都能够提升一定的网站访问速度,特别是多次访问的速度。

当然,作为Cloudflare的秘密武器之一,这个也不是免费使用的,在两种途径下可以使用,一种当然是乖乖交钱选择付费套餐,还有一种就是成为Cloudflare的Optimized Partner,这个是在普通Partner的基础上另外签合约,来加入Cloudflare的Optimized计划,具体的建议自己去官网看,我懒得说了,主要多的权限就是这个Railgun。

简单的来说,这个Railgun是在你的源站和CF的回源服务器之间再加一个Railgun服务器,由于Railgun可以配置的Keepalive时间较长,所以能够在连续访问的情况下与你的网站建立一个长连接,减少TTFB。并且由于Railgun支持对象缓存,所以能够将静态内容直接Hit而不是再次回源。在这两个措施下,Railgun能够视网站访问状况减少服务器压力并且提高一定的访问速度。 阅读全文→

借助Apache模块mod_cloudflare来增强网站安全性

一.介绍

一般情况下,如果要给没有备案的网站上CDN我们基本上都会选择Cloudflare,免费好用,虽然国内速度可能不够理想,但是也算够用吧。
那么问题来了,我们使用Cloudflare的目的是啥呢

1. 加快访问速度
2. 隐藏网站IP
3. 过滤部分恶意请求
4. 方便HTTPS

二.分析

总结一下,快+安全,然而,其实绝大部分的人都没有考虑完全,其实是可以有办法抓出源站的,而且可以说很容易,特别是没有故意做防范的。
介绍下我常用的方法

1. 如果是有用户系统的网站,直接测试注册,然后抓发件IP
2. 根据开放80和443端口的IP列表扫Host和证书
3. 批量扫子域名
4. 抓可能的框架报错页面看是否有debug输出环境参数

具体怎么搞就不说了,讲下防范

1. 用MailGun或者其他API发件服务(注意sendcloud好像API也会泄露发件IP)或者自建安全的邮件服务器
2. 对IP访问单独绑定vhost
3. 自己在意下就行
4. 用框架开发的程序部署的时候把Debug关掉 阅读全文→

关于Requests使用Session无法复用Cookies的问题

这个问题严格来讲不是我碰到的,是偶尔在群里看到有人提问然后查了一波,发现原来还有这个问题,感觉自己以后也会碰到(最近做毕业设计全写的c++,根本没空摸Python,蛋疼。

首先,选择使用requests.session而不是单纯的requests.get或者post啥的理论上应该在第一次配置之后就能在后续请求中复用所有配置,比如,我们一般使用session来进行登录,这时候session对象会识别登录返回的请求中的set-cookie头并且自动为后续请求设置cookies。但是,如果我们需要手动加载cookie呢,是否还会像上面一样自动处理,比如如下的代码

按照正常情况,我们在testA中加载的cookies应该会在后续的testB中也能够使用,但是,并没有。
这样如果我们要请求的页面必须使用cookies的话就需要在每次都带上 cookies = Cookie 了,这就很烦人,那么为什么这样不行呢,搜索一波,发现似乎是加载的方法的问题,这儿我们使用dict来加载cookies,加载的方法是针对单个请求的,这样似乎对后续的请求无效,所以需要对Session对象来"全局"设置一下。 阅读全文→

.Net程序通过TLS1.2访问HTTPS网站的问题

一.介绍

这个问题还是挺少见的,因为触发的条件是.Net编写的程序访问的HTTPS网站开启了TLS1.2 Only,这就禁止了客户端和服务端协商后降级的情况,因而最终导致了无法访问。

二.进一步分析

列举一下条件

1. 程序使用.Net语言开发
2. 目标.Net框架版本为4.0以下
3. 目标客户端未安装微软的可选补丁
4. 使用 HttpClient 或者 WebClient 来访问接口(网站)
5. 接口使用HTTPS且强制TLS1.2

在如上情况下,会无法访问接口

微软官方补丁如下
* KB3154518 – Reliability Rollup HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
* KB3154519 – Reliability Rollup HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
* KB3154520 – Reliability Rollup HR-1605 – NDP 2.0 SP2 – Win8.1RTM/Win 2012 R2 RTM
* KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10. 阅读全文→

修复RoundCube出错导致的无法查看收件箱

一.介绍

我是拿Vestacp来做域名邮箱的,平时用的都是客户端来连接邮件服务器收发件,今天偶尔想用下webmail,发现竟然挂了……

登陆RoundCube就提示如下错误

无法进入收件箱,尝试使用smtp发件正常,并且之前设置的catchall转发也是正常的,所以判断可能是RoundCube本身的问题

二.解决

遂打算查看日志,RoundCube日志路径为 /var/log/roundcube/,ls 发现目录下有 errors 以及 errors.log 两个错误日志

对它们分别 tail 一波,发现 errors 里面是一些php的warning,大概就是时区设置的问题,不是啥大事,所以看下后面那个,找到了问题所在,如下

阅读全文→