Stories

Detail Return Return

藍易雲:80端口和443端口的概念與區別 - Stories Detail

下面把“<span style="color:red">80</span> 端口 vs <span style="color:red">443</span> 端口”的本質差異、標準用法與落地方案一次講透(含可直接執行的命令與解釋)🔒🚀

一、核心結論(先給答案)

  • <span style="color:red">80</span>:用於 <span style="color:red">HTTP(明文)</span>,不加密,適合僅做跳轉或極少數內網低敏場景。
  • <span style="color:red">443</span>:用於 <span style="color:red">HTTPS(TLS 加密)</span>,支持 <span style="color:red">HTTP/2</span> 與 <span style="color:red">HTTP/3(QUIC)</span>,是一切對外業務的默認標準
  • 戰略建議:統一以 <span style="color:red">443</span> 為主,<span style="color:red">80</span> 只做 301 跳轉→HTTPS,並啓用 <span style="color:red">HSTS</span>、<span style="color:red">ALPN</span>、<span style="color:red">OCSP Stapling</span> 等現代特性。

二、對比速覽(可直接粘貼到 vditor/WordPress)

維度 <span style="color:red">80</span>(HTTP) <span style="color:red">443</span>(HTTPS)
傳輸安全 明文傳輸,易被竊聽與篡改 <span style="color:red">TLS</span> 加密與身份認證,抗竊聽/篡改
協議棧 TCP + HTTP/1.1 為主 TCP+<span style="color:red">TLS</span>(HTTP/2),或 <span style="color:red">UDP+QUIC(HTTP/3)</span>
性能 少一次握手,但無壓縮複用優化 <span style="color:red">HTTP/2 多路複用</span>、頭部壓縮;<span style="color:red">TLS 1.3</span>握手更快,支持0-RTT(謹慎啓用)
證書 需要數字證書(可用 ACME 自動化),支持 <span style="color:red">SNI</span>
瀏覽器策略 越來越多功能受限 默認優待:更完整的特性與能力
典型用途 歷史站點/內網、臨時跳轉 公網標準、支付/登錄/接口、移動端與小程序
運維規範 不建議直暴露業務 統一入口;強制 <span style="color:red">80→443</span> 跳轉;<span style="color:red">HSTS</span>

三、為什麼 443 已成默認?

  • 安全基線:<span style="color:red">TLS 1.3</span> 成熟穩定,握手更少、性能更好。
  • 協議演進:<span style="color:red">HTTP/2</span> 與 <span style="color:red">HTTP/3(QUIC)</span> 的多路複用與更優擁塞控制在複雜網絡下更穩。
  • 產品體驗:現代瀏覽器逐步“HTTPS-first”,非加密連接被弱化提醒。
  • 合規與信任:證書為站點身份背書,利於數據合規與用户信任。🙂

四、最小可行落地(命令/配置 + 逐條解釋)⚙️

1)查看 80/443 監聽

ss -lntp | egrep ':80|:443'

解釋ss 列出監聽中的 TCP 端口;篩出 :80:443。若無輸出,説明服務未在相應端口監聽。

2)開放防火牆

Ubuntu(UFW)

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload

解釋:分別放行 <span style="color:red">80/443</span> 的 TCP 流量;reload 使規則生效。

RHEL/CentOS(firewalld)

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

解釋:以“服務”維度一次性放行 <span style="color:red">HTTP/HTTPS</span>;--permanent 持久化保存,--reload 立即生效。

3)Nginx 標準化配置(80 跳 443,443 啓用 TLS)

server {
  listen 80;
  server_name example.com;
  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl http2;                     # HTTP/2
  # listen 443 quic reuseport;              # 如啓用 HTTP/3,再配合 http3 on;
  server_name example.com;

  ssl_certificate     /etc/ssl/fullchain.pem;
  ssl_certificate_key /etc/ssl/privkey.pem;

  ssl_protocols TLSv1.2 TLSv1.3;           # 以 TLS 1.3 為主,保留 1.2 兼容
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;
  ssl_stapling on;                          # OCSP Stapling
  ssl_stapling_verify on;

  add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

  location / {
    proxy_pass http://127.0.0.1:8080;
  }
}

解釋

  • 上段 server:<span style="color:red">80</span> 僅做 301 跳轉 到 HTTPS。
  • 下段 server:啓用 <span style="color:red">TLS</span> 與 <span style="color:red">HTTP/2</span>;證書路徑替換為你的實際文件;HSTS 強制瀏覽器後續僅走 <span style="color:red">HTTPS</span>;OCSP Stapling 降低證書狀態查詢時延。若要 <span style="color:red">HTTP/3</span>,需編譯/啓用支持並開放 UDP/443。

4)驗證 TLS/ALPN/HTTP2

openssl s_client -connect example.com:443 -servername example.com -alpn h2 -tls1_3 </dev/null 2>/dev/null | egrep 'Protocol|ALPN'

解釋:用 openssl 主動發起 TLS 連接,指明 <span style="color:red">SNI</span> 與 <span style="color:red">ALPN=h2</span>;輸出中應見 Protocol : TLSv1.3ALPN protocol: h2,表明走的是 <span style="color:red">TLS 1.3</span> 與 HTTP/2。🧪


五、實施清單(務實版)

  1. 統一入口:公網僅開放 <span style="color:red">443</span>,<span style="color:red">80</span> 只做 301。
  2. 證書自動化:使用 ACME 自動續簽,最少 60 天輪轉一次。
  3. 協議優選:開啓 <span style="color:red">TLS 1.3</span> 與 <span style="color:red">HTTP/2</span>,按需評估 <span style="color:red">HTTP/3(QUIC)</span>(移動與弱網收益明顯)。
  4. 安全選項:強制 <span style="color:red">HSTS</span>,啓用 <span style="color:red">OCSP Stapling</span>、合理 Cipher 套件;保留 <span style="color:red">TLS 1.2</span> 以兼容老端。
  5. 觀測治理:在接入層記錄握手耗時、協議分佈(h2/h3)、失敗原因碼,納入 SLO。

六、常見誤區(快速避坑)🙂

  • “HTTP 更快所以用 80”:過時。<span style="color:red">TLS 1.3</span> + <span style="color:red">HTTP/2/3</span> 實測更穩更快,且安全邊際高。
  • “內網就不用 HTTPS”:只要跨邊界或多團隊協作,傳輸加密與身份校驗仍是剛需。
  • “開了 443 就萬事大吉”:別忘了 <span style="color:red">HSTS</span>、<span style="color:red">SNI</span>、<span style="color:red">ALPN</span> 與證書續簽可觀測性。

結論:面向 2025 的可持續架構,以 <span style="color:red">443</span> 為主的全站 HTTPS 已是基礎設施共識;<span style="color:red">80</span> 端口僅承擔“引導安全連接”的中轉角色。對客户與業務而言,這既是安全紅線,也是體驗與口碑的底座。

user avatar u_15745565 Avatar ahahan Avatar zhanwang Avatar qiyuxuanangdelvdou Avatar zohocrm Avatar pipigao Avatar mengxiang_592395ab95632 Avatar delumengyu_6683789629bfa Avatar danieldx Avatar dadetouyingyi Avatar
Favorites 10 users favorite the story!
Favorites

Add a new Comments

Some HTML is okay.