Insights·2026-09-10

Web 服务器与 HTTPS 是什么 — Nginx 做的事

请求到达服务器,并不等于该回什么已经定了。把「从这个端口进来的请求给这个文件夹里的文件、那个地址转交给里面跑着的程序」写下来,就是 Web 服务器做的事,其中用得最广的是 Nginx。HTTPS 也落在这一层:证书和密钥从哪里读、用在哪些连接上,都写在这份配置里,地址栏的锁形图标就是这份配置生效的标志。

Nginx 설정이 요청을 어디로 보낼지 정한다 — 글의 요약 도식

到达不等于有了答案

上一篇说请求发往某台电脑的某号门。但走到门口,并不意味着能拿到什么已经确定了。

那台电脑里文件夹很多,跑着的程序也不止一个。跟人用显示器打开东西不同,请求需要事先按规则写好它到底能拿到什么。

把这些规则写下来并实际执行的,就是 Web 服务器。从 80 号门进来的请求给这个文件夹里的文件;发到这个地址的请求转交给里面跑着的程序,再把它的回答代为送回。这样一组句子就是 Web 服务器的配置。

用得最广的是 Nginx,读作 engine-x。

Web 服务器配置在说什么
如果请求从 443 号门进来
  用这份证书和密钥建立加密连接

  如果地址以 /api 开头
    转交给里面 8000 端口上跑着的后端

  否则
    直接把这个文件夹里的文件给出去

为什么要往里面转交

接下请求、交给里面的程序、再把答案代为送回,这种方式叫反向代理。名字唬人,做的事是居间转交。

为什么不直接应答而要居间?后端程序通常跑在 8000 这样的内部端口上,并不对外开放。对外只留 443 一道门,在门后按地址分流,管理起来更简单。

有了这个结构,一台服务器就能跑多个服务。地址以 /api 开头的去后端,其余的去画面文件。这和上一篇讲的用子域名分流是同一件事,只是改用路径来分。

HTTPS 落在这一层

对比图:HTTP 内容明文传输,HTTPS 用证书和密钥加密后传输。

HTTP 传输的内容是明文流动的,中间有人看就全看到了。HTTPS 会把内容加密后发送,地址栏的锁形图标就是标志。

加密需要证书和密钥。证书是由第三方担保「这个域名确实属于这台服务器」的文件,密钥是加密时用的秘密值。两者都以文件形式放在服务器上。

从哪里读这些文件、用在哪些连接上,写的地方正是 Web 服务器配置。所以 HTTPS 不是一门单独的技术,而是这一层里的配置项。

证书有有效期,过期后浏览器会报警。如今自动续期是常态,但续期悄悄失败、直到到期那天才爆出来的事仍然常见。

用了部署服务为什么还要懂

归纳图:502 与 504 属于这一层,网关仍在响应,是里面的程序没有回答。

用 Vercel 或 Railway 这类部署服务,几乎不需要直接碰这些配置。连上仓库,证书签发和续期都替你做了。

仍然要懂的理由有两个。一是自己租服务器上线时,这一整层就全归你了。二是出问题时你得能分清是哪一层。

看到 502 或 504,多半就是这一层。门房活着并在应答,而里面的程序不回应或回应太慢。这跟页面根本打不开是不同的原因。上一篇的三处都查过还是不行,就看这里。

症状通常意味着查哪里
完全连不上请求根本没到达DNS · 服务器存活 · 端口
502里面的程序挂了后端进程
504里面回应太慢后端处理耗时
证书告警过期或域名不匹配续期配置