nginx

试玩 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 Ope[……]

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

Nginx plus 的 UDP 反向代理主动健康检测

万能的 Nginx 在今年支持了 UDP 的负载均衡,依旧是由于某些原因我打算试一试这个 UDP 反代功能,实际上 Linux 平台能做 UDP 的代理的工具很少,Nginx 几乎是唯一的选择,然后它自带的主动健康检测和 dashboard 监控是 Nginx-plus 才有的(实际上自己用插件写的话应该也不是很困难,但是这个我确实不会写)Nginx-plus 的安装也很有意思,从官网下载一个 key 和一个 crt,然后添加到 apt,连接 nginx.com 的仓库的时候会进行双向的 TLS 认证(一般的 HTTPS 只有客户端验证服务器,这个模式更类似网上银行和支付宝的客户端证书)[……]

Read more

反代 Google fonts 谷歌字体库

0.为什么会有本文

Google fonts 是谷歌免费提供的开放字体服务,在网站中简单的引入 Google fonts 的 CSS 就能简单、快速的在网页中使用大量美观、高可读性的开源字体而不需要在自己服务器上储存字体文件(众所周知字体文件体积不小,尤其是 CJK字族,那么引用 Google fonts 之后就可以减少服务器存储和接受请求的压力),因此 WordPress 主题中大量引用了 Google fonts ,在2014年6月开始大陆访问 Google 服务出现严重问题,Google fonts 服务随之受到影响,由于无法访问 Google 服务器,所引用的字体会回落到浏览器默认字[……]

Read more