上次错误
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
# 圣巧依官网 ── 切换 coolcoth.com(Apache → Nginx)部署说明
|
||||
|
||||
> 适用:把原 `st-joyapparel.com` 站点迁移到新域名 `coolcoth.com`,并将 Web 服务由 Apache 切换为 Nginx(宝塔环境)。
|
||||
> 联系邮箱保持 `service@st-joyapparel.com`(同属圣巧依公司,未随域名变更)。
|
||||
|
||||
---
|
||||
|
||||
## 一、本次改动清单(相对原 st-joyapparel.com 代码)
|
||||
|
||||
| 文件 | 改动内容 | 是否需上传替换 |
|
||||
|---|---|---|
|
||||
| `nginx/coolcoth.com.conf` | **新增**:Nginx 完整站点配置(http→https、www 规范、伪静态、安全头、acme) | ✅ 新增(参考/直接用作站点配置) |
|
||||
| `app/Core/Helper.php` | `apply_security_headers()` 改为只输出动态 CSP;通用安全头(HSTS 等)移交 Nginx 层下发,避免重复头 | ✅ 替换 |
|
||||
| `public/robots.txt` | Sitemap 地址改为 `https://coolcoth.com/sitemap.xml` | ✅ 替换 |
|
||||
| `robots.txt`(项目根) | 同上 | ✅ 替换 |
|
||||
| `public/user.ini` | 会话目录改为 `/www/php_session/coolcoth.com/` | ✅ 替换 |
|
||||
| `app/Core/Theme.php` | 联系邮箱(保持 `service@st-joyapparel.com`,未改) | ❌ 无需替换 |
|
||||
| `install/seed.php` | 联系邮箱(保持 `service@st-joyapparel.com`,未改) | ❌ 无需替换 |
|
||||
| `.htaccess` / `public/.htaccess` | Apache 规则,Nginx 下不生效,保留无害 | ❌ 无需替换 |
|
||||
|
||||
> 因站点功能(路由、SEO、后台)基于请求域名自动生成 URL(`site_url()` / `absolute_url()`),
|
||||
> **除上方显式列出的硬编码点外,其余代码无需改动即可适配新域名**。
|
||||
|
||||
---
|
||||
|
||||
## 二、宝塔 Nginx 部署步骤
|
||||
|
||||
1. **DNS 解析**:`coolcoth.com` 与 `www.coolcoth.com` 均 A 记录指向阿里云 ECS 公网 IP。
|
||||
2. **建站**:宝塔 → 网站 → 新建站点 `coolcoth.com`(同时添加 `www.coolcoth.com`),
|
||||
- Web 服务:**Nginx**
|
||||
- **运行目录 = `/public`**
|
||||
3. **站点配置**:
|
||||
- 方式 A(推荐):网站 → 设置 → **配置文件**,整体替换为 `nginx/coolcoth.com.conf` 中的 `server` 块;
|
||||
- 方式 B:只把文件「伪静态区」内容粘到「**伪静态**」框,再用「设置 → 重定向」开启 https + www 跳转。
|
||||
- ⚠️ 修改 `fastcgi_pass` 的 `php-cgi-74.sock` 为你服务器实际 PHP 版本(如 `php-cgi-80.sock` / `php-cgi-82.sock`)。
|
||||
4. **SSL**:网站 → SSL → Let's Encrypt,**勾选 `coolcoth.com` 与 `www.coolcoth.com`** → 申请并开启「强制 HTTPS」。
|
||||
5. **上传代码**:把整站代码传到 `/www/wwwroot/coolcoth.com/`(运行目录为 `public/`),
|
||||
并用本包内的 `app/Core/Helper.php`、`public/robots.txt`、`robots.txt`、`public/user.ini` 覆盖对应文件。
|
||||
6. **建会话目录**:服务器上创建 `/www/php_session/coolcoth.com/` 并赋予 PHP 进程写权限(与 `user.ini` 中路径一致)。
|
||||
|
||||
---
|
||||
|
||||
## 三、安全头分工(重要)
|
||||
|
||||
- **通用头**(HSTS / X-Frame-Options / X-Content-Type-Options / Referrer-Policy / Permissions-Policy 等):
|
||||
由 Nginx 在服务器层用 `add_header ... always` 统一下发,**覆盖静态资源**,不依赖 PHP。
|
||||
- **严格 CSP**(含每次请求随机 nonce):由 PHP `Helper::apply_security_headers()` 在 `public/index.php` 入口下发。
|
||||
- 二者不再重复,行为与原 Apache 环境一致。
|
||||
|
||||
---
|
||||
|
||||
## 四、验证
|
||||
|
||||
- `http://coolcoth.com` / `https://coolcoth.com` / `https://www.coolcoth.com` 均应 301/200 收敛到 `https://www.coolcoth.com`。
|
||||
- 首页、产品、新闻、后台 `/admin` 正常;`/sitemap.xml` 可访问。
|
||||
- 用夸克浏览器测试(新域名未被旧拦截规则影响)。
|
||||
- 浏览器 F12 → Network 查看响应头含 `Strict-Transport-Security`、`Content-Security-Policy`、`X-Frame-Options` 等。
|
||||
|
||||
---
|
||||
|
||||
## 五、WWW 策略说明
|
||||
|
||||
当前配置延续原 Apache 的「强制 www」策略(所有访问跳到 `www.coolcoth.com`)。
|
||||
若希望以裸域 `coolcoth.com` 为主,删除 `nginx/coolcoth.com.conf` 中 80 server 的 `www.` 前缀,
|
||||
以及 443 server 内对 `$host` 的 www 跳转即可。
|
||||
|
||||
---
|
||||
|
||||
## 六、旧域名
|
||||
|
||||
`st-joyapparel.com` 若不再使用,请在 DNS / 阿里云释放;其服务器目录可保留或清理。
|
||||
Reference in New Issue
Block a user