HTTPS

端口 443:用于安全 Web 流量的 HTTPS 端口

了解 HTTPS 为什么使用端口 443、何时打开它、如何在其上运行服务以及如何验证安全流量可以到达您的服务器。

默认端口
443
协议
TCP
主要用途
加密 Web 与 API 流量

端口 443 是什么?

端口 443 是 HTTPS(HTTP 的加密版本)的默认 TCP 端口。当浏览器打开以 https:// 开头的地址且未显示自定义端口时,它将连接到端口 443、协商 TLS、验证证书,然后通过加密会话发送 HTTP 请求。

  • 默认安全 Web 端口

    大多数网站、API、反向代理、webhooks、控制面板和 CDN 源在需要浏览器兼容的加密流量时都使用 443。

  • 打开443只是工作的一半

    防火墙规则可以允许该端口,但 Nginx、Apache、Caddy、IIS 或负载均衡器等 Web 服务器也必须侦听 443。

为什么 HTTPS 使用端口 443

HTTPS 成为保护 Web 会话的标准方法,因为纯 HTTP 会将请求、响应、cookie 和表单数据公开给任何可以观察网络路径的人。端口 443 为客户端和服务器提供了一个可预测的位置来开始加密对话。浏览器不需要用户输入端口号,基础设施团队可以围绕众所周知的默认值编写防火墙、代理和监控规则。

该号码本身来自 IANA 维护的著名端口注册表。早期的安全 Web 流量使用 SSL,后来 TLS 取代 SSL 成为现代安全协议。 HTTPS 这个名称保留下来是因为应用程序协议仍然是 HTTP,但它是在 TLS 保护的通道内传输的。如今,当人们说 SSL 证书时,通常指的是 HTTPS 在端口 443 上使用的 TLS 证书。

端口 443 与端口 80

端口 80 是 HTTP 的默认端口。它对于初始重定向、证书自动化挑战、内部运行状况检查以及与旧客户端的兼容性仍然有用。端口 443 有所不同,因为浏览器期望在正常 HTTP 流量开始之前进行 TLS 握手。通过握手,服务器可以使用证书证明其身份,并让双方在交换私有数据之前就加密密钥达成一致。

现代生产站点通常保持端口 80 开放,仅用于重定向或证书自动化。真正的应用程序流量应该落在 443 上,通常启用 HSTS,以便浏览器记住使用 HTTPS。

什么时候应该打开端口 443

当互联网用户、客户应用程序、Webhook 提供商、CDN、移动应用程序或合作伙伴系统需要通过 HTTPS 访问您的服务时,打开端口 443。典型示例包括公共网站、REST API、GraphQL 端点、OAuth 回调、支付 Webhook、反向代理前门、容器入口控制器以及受身份验证保护的自托管仪表板。

不要仅仅因为 443 看起来安全就打开它。 HTTPS 对传输中的流量进行加密,但它无法修复弱身份验证、过时的软件、暴露的管理路由或危险的默认凭据。将 443 视为值得修补、记录和访问控制的公共入口点。

打开443之前

一个工作的 HTTPS 端点需要四个部分来排列。 DNS 必须将主机名指向正确的公共地址。服务必须侦听 443。主机防火墙、云安全组、路由器端口转发和负载均衡器侦听器等网络控制必须允许连接。最后,服务器必须提供与主机名匹配的证书。

分开两个问题:端口是否可达,HTTPS 配置是否正确?端口检查器确认 TCP 路径。 curl、浏览器开发工具和 openssl s_client 等工具可帮助检查重定向、证书、TLS 版本和 HTTP 响应。

如何在 Windows、Linux 和 macOS 上打开端口 443

在 Windows Server 上,安装 IIS、Nginx、Caddy 或其他 Web 服务器,将证书绑定到站点,并在 Windows Defender 防火墙中允许入站 TCP 443。云服务器还需要云安全组或防火墙策略中允许443。

在 Linux 上,安装 Nginx、Apache 或 Caddy,为 443 配置虚拟主机,并使用来自 Let's Encrypt 等提供商的证书。然后在主机防火墙中允许该端口,例如在 Ubuntu 上使用 ufw allowed 443/tcp。容器还需要在主机或负载均衡器上发布 443。

在 macOS 上,端口 443 主要用于本地开发或实验室环境。您仍然需要一个进程侦听 443,并且特权端口可能需要提升权限。

  • 服务层:Nginx、Apache、Caddy、IIS、负载均衡器或入口控制器必须侦听 TCP 443。
  • 主机防火墙:Windows Defender 防火墙、ufw、firewalld、nftables、iptables 或 pf 必须允许入站 TCP 443。
  • 网络边缘:云安全组、路由器 NAT、CDN 规则和负载均衡器必须将流量路由到后端。
  • TLS 层:证书链、主机名、续订过程和协议设置必须对真实浏览器有效。

如何测试端口443

首先根据公共 IP 地址或主机名进行外部端口检查。如果结果是打开的,则远程客户端可以建立到 443 的 TCP 连接。接下来,使用浏览器或curl -I https://example.com 验证 HTTP 状态、重定向和标头。

在服务器本身上,使用 ss -tlnp、netstat 或 PowerShell 检查进程是否正在侦听。有关 TLS 详细信息, openssl s_client -connect example.com:443 -servername example.com 显示证书链和握手信息。

使用端口检查器测试端口 443

常见443故障排除案例

如果端口 443 显示已关闭,则服务可能未运行,可能仅在本地主机上侦听,或者可能绑定到错误的接口。如果超时,防火墙、云安全组、路由器、ISP 或上游提供商可能会丢弃数据包。如果端口打开但 HTTPS 失败,请检查证书名称、证书链、SNI 配置、反向代理上游和应用程序日志。

常见错误包括打开主机防火墙而忘记云防火墙、将 Docker 端口 443 映射到容器内而不将其发布到主机上,或者从 CGNAT 后面的住宅网络进行测试。在这些情况下,您可能需要隧道、业务连接或公共云端点。

端口 443 的安全检查表

Keep TLS simple and modern.首选 TLS 1.3 和 TLS 1.2,禁用过时的协议,自动续订证书,将 HTTP 重定向到 HTTPS,并监控证书过期。 Do not rely on encryption alone.将身份验证置于私有工具之前,限制管理路径,修补应用程序堆栈并记录失败的身份验证尝试。

对于高价值服务,请将 443 放置在反向代理、WAF、CDN 或负载均衡器后面,以限制可疑流量并提高可观察性。如果该服务仅供员工使用,请使用 VPN、身份感知代理、许可名单或 mTLS,而不是使其广泛可访问。

常见问题

HTTPS 是否始终必须使用端口 443?

否。如果客户端在 URL 中包含该端口,则 HTTPS 可以在另一个 TCP 端口(例如 8443)上运行。端口 443 是在未指定自定义端口时浏览器采用的默认端口。

开放443端口有危险吗?

开放的 443 端口对于公共 Web 服务来说是正常的,但其背后的应用程序必须是安全的。 Encryption protects traffic in transit;它不能修复弱密码、暴露的管理面板、易受攻击的软件或丢失的访问控制。

为什么443端口看起来是开放的,但网站仍然无法访问?

当 HTTPS 配置损坏时,TCP 侦听器可能可以访问。检查证书、主机名、SNI 路由、反向代理配置、后端运行状况、重定向和应用程序日志。

我可以关闭 80 端口而只使用 443 端口吗?

是的,如果用户和自动化不需要 HTTP 重定向或基于 HTTP 的证书质询。许多站点保持端口 80 开放只是为了重定向到 HTTPS,并使用端口 443 处理所有实际流量。