试玩 nginx mainline 1.13 的 TLSv1.3

大晚上的刷推发现 nginx 出了新的大版本更新(https://twitter.com/nginxorg/status/856896480497385473),一看 TLSv1.3 support,顿时吓清醒了,为啥这么厉害的特性官方博客都没一篇说明的(关于 TLS 1.3 的介绍建议阅读微信的 基于TLS1.3的微信安全通信协议mmtls介绍),后来发现原来1.11.x 的时候就偷偷加入的支持然而没有告诉你,我也是十分的无语。仔细看了一下 ngx_http_ssl_module 的文档:

The TLSv1.3 parameter (1.13.0) works only when OpenSSL 1.1.1 built with TLSv1.3 support is used.

OpenSSL 1.1.1,Arch 半天都没敢上1.1.0你跟我说1.1.1,去 OpenSSL 官网一看甚至还没 Release,感觉确实是太 bleed blade 了不适合拿来用只适合拿来玩。nginx.org 的预编译包的 OpenSSL 版本是跟随对应发行版主源里的版本(非 backport[……]

Read more

最近由于某些原因给一台 Mac 装系统,且不打算保留 OS X 分区(至于为什么拿 Mac 装 Windows 这种形而上的问题,并不是自用机器),但是想保留 cmd+R 恢复模式的 base system,那个类似 PE 的东西在操作系统崩掉的时候还是有点好用,然而在 Windows 打开磁盘分区工具都没发现有这样的分区,当时理想的情况是在不影响 Mac 的 cmd+R 功能的前提下 OS X 的分区容量全部划给 bootcamp,折腾半天发现并没有达成目的,格式化 OS X 分区之后 cmd+R 就只剩下了固件中保留的网络恢复模式,每次进入都要下载一个完整的 recovery disk image。

想了想似乎是当时手贱调整分区的时候把分区末尾错误的合并进了空白分区里,OS X 系统本身倒是没有挂,但是恢复分区就没有了,由于这篇文章拖的太久已经不记得当时怎么操作的了- –

不过好在发现了官方给的 recovery disk assistant,参见 https://support.apple.com/zh-cn/HT202294 可以用来制作恢复模式的引导盘,用了一下似[……]

Read more

自从上次被腾讯莫名其妙的改面试地点挂掉之后就很不爽,面试这种宝贵的人生经验多多益善哉,所以抱着增长姿势的目的去投了个渣浪结果过了那个煞笔透顶的笔试(全是谭语言的笔试题你们真的要招运维?)然后竟然过了于是今天(7号,准确的说是昨天)去面了一下,总体而言因为面试官说自己实际上是 IT 而不是运维(渣浪的 IT 和网易的职能略有区别,渣浪的内部系统和私有云、容器、直播信号管理也是 IT 维护,相对来说不知道他们运维是不是只专注于业务运维,还顺便问了问渣浪对容器技术的使用情况,看起来明年才会在内部系统里大规模使用)

总结一下就是最有价值的问题是:“如何在客户端零配置的前提下根据需要,对于不同用户授予自动翻墙,且根据用户身份进行授权,避免无关人员使用翻墙出口“

简单的讲,除了类似 ss-redir+iptables 这种简单的方案,也可以使用 VPN,在网关上跑 VPN,再到 VPN server 出口进行路由切换,凤凰聚聚的博客:使用 IPSec 连接带有 chnroutes 的隧道网络配置小记

用户的身份认证可以通过自建 PKI 在用户接入网络的时候进行身份认证,根据不同的用户角色给路[……]

Read more

TL; DR

这是一篇吐槽,主要干货用最简单的话说就是:

  • thunderbolt3 是 USB-C 的超集
  • thunderbolt3 是 USB-C 的一种 alternate mode
    • 这两个观点都是对的并不矛盾
  • 实现上目前仅有的 TB3 控制器 Intel DSL6340/6540(代号Alpine Ridge)同时实现了 USB3 的控制器
  • USB-C 是一个接口的标准不是速率的标准,他可以是 USB2.0 也可以是 3.1 Gen2
  • USB-C 可以通过 alternate mode 原生支持 DP 和 HDMI 输出
  • USB-C 当前外设和线材市场极其混乱和原始

好了干货就这点不想看的请关浏览器。

  • 本文严重主观意见的吐槽,但不包含主观臆断
  • 为保护广大果粉的的身心健康,请果粉同志们切勿阅读
  • 本文保留一切解释权和拉黑权

原本看完了发布会就一肚子的不舒服,本来想当场写的然而那天白天有考试加之实在是被气的没力气写长文章就一直拖着;实际上现在发现还是有很多事情需要深究之后才能写,于是有了这么一篇又臭又长的东西。

大家都知道水果今年发布了个啥玩意,那我也不多[……]

Read more

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

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

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

当然,可以说判断执行的方式,根据判断$0是否是绝对路径等方法可以区分这个情况,但是首先这样就变得麻烦,其次软链接的情况就不能通过这个判断,一个简单的验证:

尘光前辈关于软链接的实际应用的陈述:

~/bin/setup-firewall.sh -> /opt/gateway/bin/setup-firewall.sh 这种情况,如果是 ~/bin/setup-firewall.sh 这样运行的话,pwd的方案获取到的是 ~/bin/setup-firewall.sh,而不是 /o[……]

Read more