月度归档:2019年10月

XP 无法显示该页面

作为古董级的系统,XP 确实有很多兼容问题。例如很多 HTTPS 页面报错:无法显示该页面。这都还不是能显示但有问题,是直接无法显示。追查了很多资料,最终确认了原因:SNI

什么是 SNI

随着 IPv4 地址的短缺,为了让多个域名复用一个 IP,在 HTTP 服务器上引入了虚拟主机的概念。服务器可以根据客户端请求中不同的 host,将请求分发给不同的域名(虚拟主机)来处理。

但是,在一个被多个域名(虚拟主机)共享 IP 的 HTTPS 服务器中,由于在握手建立之前服务器无法知道客户端请求的是哪个 host,所以无法将请求交给特定的虚拟主机。然而,要完成握手,又必须读取虚拟主机中配置的证书信息。

Server name indication(简称 SNI)就是用来解决这个矛盾问题的。SNI 要求客户端在与服务器握手时就携带需要访问的域名的 host 信息。这样,服务器就知道需要用哪个虚拟主机的证书与客户端握手并建立 TSL 连接。

SNI 最早在 2004 年被提出,目前主流的浏览器、服务器和测试工具都已支持 SNI。

继续阅读

V2Ray 之科学爱国

为了更好响应科学爱国理性上网的倡导和号召,有关人士一直在孜孜不倦上下求索。GoAgent 已是过去式,Shadowsocks 还是进行时但如今也积重难返蹒跚难行,所以找到了一个新的 V2Ray

零、V2Ray 主要特性

  • 多入口多出口: 一个 V2Ray 进程可并发支持多个入站和出站协议,每个协议可独立工作。
  • 可定制化路由: 入站流量可按配置由不同的出口发出。轻松实现按区域或按域名分流,以达到最优的网络性能。
  • 多协议支持: V2Ray 可同时开启多个协议支持,包括 Socks、HTTP、Shadowsocks、VMess 等。每个协议可单独设置传输载体,比如 TCP、mKCP、WebSocket 等。
  • 隐蔽性: V2Ray 的节点可以伪装成正常的网站(HTTPS),将其流量与正常的网页流量混淆,以避开第三方干扰。
  • 反向代理: 通用的反向代理支持,可实现内网穿透功能。
  • 多平台支持: 原生支持所有常见平台,如 Windows、Mac OS、Linux,并已有第三方支持移动平台。

说新其实也不新了,这东东也面世有四年了。以前 GoAgent 还是免费时代,经常红字绿字;现在 Shadowsocks 是包年的小飞机,也经常失去响应。至于 V2Ray,我想也许是该自己跑服务器了。开始之前需要两个前提:有自己的境外云、有自己的域名。

关于云这里,知名的有 DigitalOcean 和 Vultr,价格没问题,最低每月五美刀,但因为资源被开发过度,IP 被封锁的情况非常严峻。试用了后者,刚新建的服务器,连远程根本都连不了。忐忑之下尝试使用了阿里云。

本次使用了香港的 ECS,系统为 CentOS、方案为网上成熟的 V2Ray+WebSocket+TLS+Ngxin,因为本身具备加密和伪装的特性,防火墙看起来就像是普通的上网行为,能最大限度保护自己的服务器被墙。推荐! 继续阅读