From 61ba7945213c8c64e4ccaeb5675f1d24344d2f28 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期二, 29 九月 2026 13:06:02 +0800
Subject: [PATCH] docs(server): 443 改为占位页,测试环境移回 8081
---
.scratch/server-testenv/nginx-talent-card.conf | 44 +++++++++++----------
.scratch/server-testenv/placeholder-index.html | 30 +++++++++++++++
2 files changed, 53 insertions(+), 21 deletions(-)
diff --git a/.scratch/server-testenv/nginx-talent-card.conf b/.scratch/server-testenv/nginx-talent-card.conf
index f0c018e..2101359 100644
--- a/.scratch/server-testenv/nginx-talent-card.conf
+++ b/.scratch/server-testenv/nginx-talent-card.conf
@@ -1,24 +1,20 @@
-# 东区人才卡 —— 站点(2026-09-22)
+# 东区人才卡 —— 站点(2026-09-29)
#
-# 部署位置:/etc/nginx/sites-available/talent-card (再软链到 sites-enabled/)
+# 部署位置:/etc/nginx/sites-available/talent-card (软链到 sites-enabled/)
#
-# 三个 server 块共用 snippets/talent-card-locations.conf,
-# 所以「前端托管 + /api 反代 + /uploads 反代」只有一份定义,加端口不会漂移。
+# 端口分工:
+# 8081 → **测试环境**(完整功能,用 snippets/talent-card-locations.conf)
+# 80 → 只做 301 跳到 https
+# 443 → 这个域名留给**生产环境**,目前**尚未部署**,所以只显示占位页
#
-# 8081:备案前的唯一入口,现在保留(堡垒机/内网调试也走它)。
-# ⚠️ 它仍然是**全公网可达的明文端口**,上面挂着后台 API;HTTPS 稳定后建议请云管理方关掉。
-# 80 :只做 301 跳转到 https。
-# 443 :正式入口。证书是华为云签发的 DV 证书(TrustAsia 签发,链:叶子 → TrustAsia DV TLS RSA CA 2025
-# → DigiCert Global Root G2),SAN 覆盖 `dqrcfwpt.com` 与 `www.dqrcfwpt.com`。
-# ssl_certificate 必须指向**含中间链的 bundle**,不能只给叶子证书。
+# 生产上线时怎么切:把下面 443 那个 server 块里的 `root` 与两个 location 换成
+# `root <生产的 dist 目录>;` + `include snippets/talent-card-locations.conf;`,
+# 80 的 301 不用动。占位页在 /data/talent-card/placeholder/index.html。
#
-# 证书到期:2027-02-11。**华为云的证书不会自动续到本机**,到期前要在华为云重新下载再传一次
-# (或那时改用 Let's Encrypt —— 80 已通,certbot 一条命令且自带自动续期)。
-#
-# HSTS 目前是**第一步**:max-age=86400(1 天),且**没有** includeSubDomains / preload。
-# 观察一段时间没问题后,再把 max-age 提到 31536000(1 年)。不加 includeSubDomains 的原因:
-# 一旦哪天新增子域(例如 OSS 的 img.)还没配好 HTTPS,HSTS 会把那个子域也锁死;而 preload 是单向门,更难退出。
-# 第一次成功续期之后再考虑这两项。
+# 证书:华为云 DV(TrustAsia 签发),SAN 覆盖 `dqrcfwpt.com` 与 `www.dqrcfwpt.com`。
+# `/etc/nginx/ssl/talent-card/server.crt` **必须含中间链**(bundle,4451 字节)。
+# **2027-02-11 到期,且不会自动续到本机** —— 到期前重新下载再传一次。
+# HSTS 仍是第一步:max-age=86400,无 includeSubDomains / preload。
server {
listen 8081;
@@ -26,7 +22,6 @@
include snippets/talent-card-locations.conf;
}
-# 80:只做跳转,不再直接提供内容
server {
listen 80;
server_name www.dqrcfwpt.com dqrcfwpt.com;
@@ -40,7 +35,6 @@
ssl_certificate /etc/nginx/ssl/talent-card/server.crt;
ssl_certificate_key /etc/nginx/ssl/talent-card/server.key;
- # 同一份 bundle:叶子 + 中间链,供 OCSP stapling 校验用
ssl_trusted_certificate /etc/nginx/ssl/talent-card/server.crt;
ssl_protocols TLSv1.2 TLSv1.3;
@@ -53,8 +47,16 @@
ssl_stapling on;
ssl_stapling_verify on;
- # HSTS 第一步:1 天,先观察
add_header Strict-Transport-Security "max-age=86400" always;
- include snippets/talent-card-locations.conf;
+ root /data/talent-card/placeholder;
+ location / {
+ try_files $uri /index.html;
+ }
+
+ # 这个域名上还没有后端。别让 /api 落到静态页上、让人以为接口可用。
+ location /api/ {
+ default_type application/json;
+ return 503 '{"code":503,"message":"production not deployed"}';
+ }
}
diff --git a/.scratch/server-testenv/placeholder-index.html b/.scratch/server-testenv/placeholder-index.html
new file mode 100644
index 0000000..3301156
--- /dev/null
+++ b/.scratch/server-testenv/placeholder-index.html
@@ -0,0 +1,30 @@
+<!doctype html>
+<html lang="zh-CN">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>攀枝花市东区人才卡</title>
+ <style>
+ html, body { height: 100%; margin: 0; }
+ body {
+ display: flex; align-items: center; justify-content: center;
+ background: #f5f6f8; color: #333;
+ font: 16px/1.8 -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
+ }
+ .box {
+ max-width: 30rem; margin: 1rem; padding: 2.5rem 2rem;
+ background: #fff; border-radius: 12px; text-align: center;
+ box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
+ }
+ h1 { margin: 0 0 .75rem; font-size: 1.2rem; font-weight: 600; }
+ p { margin: .35rem 0; color: #666; font-size: .95rem; }
+ </style>
+</head>
+<body>
+ <div class="box">
+ <h1>攀枝花市东区人才卡</h1>
+ <p>本域名对应的生产环境尚未部署。</p>
+ <p>如你是项目成员,请联系管理员获取测试环境地址。</p>
+ </div>
+</body>
+</html>
--
Gitblit v1.7.1