Linux

老鼠就不要对一只猫的仁慈抱有希望,尤其是那只猫曾经是老鼠 ——题记

写在前面

阅读本文可能需要关于 DNS 的基本知识,权威 DNS 和递归解析过程等参见先前的文章:浅谈 DNS 的解析

9月18日上午,各大社交网络开始盛传著名二次元同人画作社区 黄图网站 PIXIV 在大陆无法访问,各种说法甚嚣尘上,有说 P 站自主规制的,有说 P 站被墙的,也有认为是网络抽风的,实际上这个问题要判断到底是哪边的问题是比较简单的,所谓实践出真知,让我们来试着判断一下 P 站为什么会无法访问

关于 P 站情况的分析

首先来看看国内访问是什么情况:
[crayon-5a1715e87ba1048[……]

Read more

shell 脚本如何判断所在目录问题

这是某业务广泛的 QQ 群里的一次讨论,尘光大前辈问起都是怎么获取脚本所在绝对路径。

首先有同学表示可以使用 pwd配合 $0参数,但是很明显脚本执行的时候并不一定在当前 working dir,这就会带来一个明显的问题就是,如果执行的方式是 ./a.sh,那么获取到的$0和 pwd 的结果才是相同的,否则就是不同的:

当然,可以说判断执行的方式,根据判断$0是否是绝对路径等方法可以区分这个情况,但是首先这样就变[……]

Read more

目录

  1. 什么是 Websocket
  2. 为什么使用 Websocket
  3. 性能理论分析
  4. Websocket 服务端和反代实践
  5. 对反代性能进行测试
  6. Websocket 和 HTTP

什么是 Websocket

Websocket 是起初由 HTML5 定义的一个建立在单 TCP 连接上的全双工通信协议,后从 HTML5 规范独立并由 RFC 6445 标准化,但仍被习惯性地称为 HTML5 Websocket。

Websocket 工作在 HTTP 的80和443端口并使用前缀 ws://或者[[……]

Read more

在 Nginx 中,四层的数据被称为 stream,和四层代理有关的模块主要有:

  • ngx_stream_core_module:四层代理的基本功能模块
  • ngx_stream_upstream_module:四层代理转发到上游的模块
  • ngx_stream_proxy_module:四层代理相关配置

其他 stream 相关模块用于如 SSL 支持、geoip 支持、简单访问控制支持等,本次测试并没有使用到。

使用的注意事项

Nginx 的四层反代功能较为简单,其访问控制模块因为源站 IP 可以进行伪造,[……]

Read more

某群有人提到在 Debian 下: sudo cd xxx/ 会提示 sudo: cd: command not found (当然我大 Mac 是直接没有任何效果)

经查 OS X 的 man 手册写道:

实际上 ,执行一个外部程序时,shell 会 fork 一个子进程进行执行,而 cd 不是一个外部程序而是 shell 内建命令,因此 sudo 并不能找到一个叫做 cd 的外部程序执行,也不能作为子进程被执行(子进程不能影响其 shell 的工作目录),因此报 comma[……]

Read more