Menu
CoddyTech

TLS 失败时

Coddy 使用终端进行网络通信 课程的第 41 课,共 47 课。

TLS 故障从外部看起来都一样,但实际上完全不同。

证书已过期。这种情况很常见,也很普通,续期即可解决。名称不匹配。你请求的是一个主机,但证书对应的是另一个主机。未知的颁发机构。通常是内部服务使用了自己的证书,而你的机器没有理由信任它。完全没有 TLS,你之前已经见过这种情况,退出码是 35。

还有 -k,它会告诉 curl 完全跳过这些检查,仍然继续连接。这样错误就消失了,但身份保证也被放弃了,只有加密仍然保留。你与一个尚未确认身份的人进行了私密对话。

在你控制的测试环境中试用时,这样做没问题。但在重要场景中用它来屏蔽警告,会移除你原本依赖的保护。还是修复证书吧。

challenge icon

挑战

困难

比较同一端口在两种协议下的情况。

  1. 创建包含 plain 的 index.html,并在端口 9130 上提供该文件夹
  2. 通过 http:// 获取它,并打印 http= 和 curl 的退出代码
  3. 通过 https:// 获取同一个 URL,并打印 https= 和它的退出代码

预期输出:

http=0
https=35

同一台机器、同一个端口、同一个文件。只有协议发生了变化。

亲手试试

终端
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

使用终端进行网络通信中的所有课

自己练习: Terminal 在线编辑器