mirror of
https://github.com/kuaifan/dootask.git
synced 2026-08-01 02:45:58 +00:00
70 lines
2.0 KiB
Markdown
70 lines
2.0 KiB
Markdown
---
|
||
id: common-faq.deploy-ssl.faq
|
||
title: HTTPS / SSL 证书怎么配
|
||
type: faq
|
||
feature: common-faq
|
||
scope: admin
|
||
locale: zh
|
||
aliases:
|
||
- 配 SSL
|
||
- 装 HTTPS
|
||
- 证书过期
|
||
- 证书续期
|
||
- acme.sh
|
||
- 自签证书
|
||
- https 配置失败
|
||
- 浏览器不安全提示
|
||
related_tools: []
|
||
related_pages: []
|
||
prerequisites:
|
||
- 域名已解析到部署机
|
||
- 80 / 443 端口对外开放
|
||
negative:
|
||
- bin/https 脚本只支持 acme.sh 申请 Let's Encrypt 免费证书
|
||
- 不支持上传自定义商业证书(要自己改 nginx 配置)
|
||
- 自签证书浏览器会报「不安全」,仅适合内网测试
|
||
last_verified: v1.7.90
|
||
---
|
||
|
||
# HTTPS / SSL 证书怎么配
|
||
|
||
## 问题
|
||
- 默认 http://,想升级 https://
|
||
- 证书过期要续期
|
||
- 配完 https 浏览器还提示不安全
|
||
|
||
## 自带 HTTPS 工具
|
||
`bin/https` 用 acme.sh + Let's Encrypt 免费签:
|
||
|
||
```bash
|
||
sudo ./cmd https install <域名>
|
||
```
|
||
|
||
会自动:拉临时 nginx 走 acme.sh 验证 → 证书放 `docker/nginx/site/ssl/` → 生成 `ssl.conf` → 改 `.env` 的 `APP_URL` 为 https → 重启 nginx。
|
||
|
||
## 续期
|
||
acme.sh 自动续期,也可手动 `sudo ./cmd https renew <域名>`。证书 90 天有效。
|
||
|
||
## 配置失败常见原因
|
||
- **80 端口被占**:acme.sh 要 80 端口验证 → 停占用进程
|
||
- **域名未解析**:先 `dig <域名>` 确认指向当前机器
|
||
- **防火墙没开 443**:云服务器开安全组
|
||
- **APP_URL 没改**:检查 `.env`
|
||
|
||
## 上传商业证书
|
||
脚本不支持直接导入,手动:
|
||
1. 把 crt + key 放 `docker/nginx/site/ssl/<域名>.{crt,key}`
|
||
2. 复制 `bin/https` 中 ssl.conf 模板到 `docker/nginx/site/ssl.conf`
|
||
3. 改 `.env` 的 `APP_URL=https://<域名>`
|
||
4. `./cmd restart nginx`
|
||
|
||
## 仍提示不安全
|
||
- 证书 / 私钥配错(检查中间证书完整性)
|
||
- `APP_URL` 与浏览器访问域名不一致
|
||
- 清浏览器缓存 / 无痕模式
|
||
- WebSocket 没升级到 wss → [[common-faq.sync-websocket-disconnect.faq]]
|
||
|
||
## 不支持
|
||
- 不支持一个实例跑多域名
|
||
- 不支持泛域名证书自动签(要手 acme.sh 走 DNS-01)
|