mirror of
https://github.com/certd/certd.git
synced 2026-04-28 07:57:25 +08:00
docs: ipv6地址提示
This commit is contained in:
@@ -47,6 +47,8 @@ services:
|
|||||||
# 配置规则: certd_ + 配置项, 点号用_代替
|
# 配置规则: certd_ + 配置项, 点号用_代替
|
||||||
# #↓↓↓↓ ----------------------------- 如果忘记管理员密码,可以设置为true,docker compose up -d 重建容器之后,管理员密码将改成123456,然后请及时修改回false
|
# #↓↓↓↓ ----------------------------- 如果忘记管理员密码,可以设置为true,docker compose up -d 重建容器之后,管理员密码将改成123456,然后请及时修改回false
|
||||||
- certd_system_resetAdminPasswd=false
|
- certd_system_resetAdminPasswd=false
|
||||||
|
# ↓↓↓ 如果启动时报address family not supported错误,将此配置修改为0.0.0.0
|
||||||
|
# - certd_koa_hostname=::
|
||||||
|
|
||||||
# 默认使用sqlite文件数据库,如果需要使用其他数据库,请设置以下环境变量
|
# 默认使用sqlite文件数据库,如果需要使用其他数据库,请设置以下环境变量
|
||||||
# 注意: 选定使用一种数据库之后,不支持更换数据库。
|
# 注意: 选定使用一种数据库之后,不支持更换数据库。
|
||||||
|
|||||||
+14
-1
@@ -19,7 +19,7 @@
|
|||||||
"detail": too many certificates (5) already issued for this exact set of idantifiers in the last 168hm0s
|
"detail": too many certificates (5) already issued for this exact set of idantifiers in the last 168hm0s
|
||||||
```
|
```
|
||||||
|
|
||||||
## ssl.com报错 CAA record does not include ssl.com which is required to issue the certificate
|
## 4. ssl.com报错 CAA record does not include ssl.com which is required to issue the certificate
|
||||||
ssl.com申请证书要求必须设置CAA记录,表示允许ssl.com为该域名颁发证书
|
ssl.com申请证书要求必须设置CAA记录,表示允许ssl.com为该域名颁发证书
|
||||||
请按如下格式添加CAA记录
|
请按如下格式添加CAA记录
|
||||||
|
|
||||||
@@ -29,5 +29,18 @@ ssl.com申请证书要求必须设置CAA记录,表示允许ssl.com为该域名
|
|||||||
| 一级泛域名 | CAA | * | 0 | issue/issuewild | "ssl.com" |
|
| 一级泛域名 | CAA | * | 0 | issue/issuewild | "ssl.com" |
|
||||||
| 固定子域名 | CAA | sub | 0 | issue |"ssl.com" |
|
| 固定子域名 | CAA | sub | 0 | issue |"ssl.com" |
|
||||||
|
|
||||||
|
## 5. address family not supported
|
||||||
|
启动时出现此错误,是由于您的服务器不支持绑定ipv6地址
|
||||||
|
|
||||||
|
请配置环境变量 certd_koa_hostname=0.0.0.0
|
||||||
|
|
||||||
|
在docker-compose.yml中添加如下配置
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
service:
|
||||||
|
certd:
|
||||||
|
environment:
|
||||||
|
certd_koa_hostname: 0.0.0.0
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -20,9 +20,13 @@ import * as commercial from '@certd/commercial-core';
|
|||||||
import * as upload from '@midwayjs/upload';
|
import * as upload from '@midwayjs/upload';
|
||||||
import { setLogger } from '@certd/acme-client';
|
import { setLogger } from '@certd/acme-client';
|
||||||
import {HiddenMiddleware} from "./middleware/hidden.js";
|
import {HiddenMiddleware} from "./middleware/hidden.js";
|
||||||
|
|
||||||
process.on('uncaughtException', error => {
|
process.on('uncaughtException', error => {
|
||||||
console.error('未捕获的异常:', error);
|
console.error('未捕获的异常:', error);
|
||||||
// 在这里可以添加日志记录、发送错误通知等操作
|
// 在这里可以添加日志记录、发送错误通知等操作
|
||||||
|
if(error?.message?.includes('address family not supported')){
|
||||||
|
logger.error("您的服务器不支持监听IPV6格式的地址(::),请配置环境变量: certd_koa_hostname=0.0.0.0");
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@Configuration({
|
@Configuration({
|
||||||
@@ -107,5 +111,6 @@ export class MainConfiguration {
|
|||||||
});
|
});
|
||||||
|
|
||||||
logger.info('当前环境:', this.app.getEnv()); // prod
|
logger.info('当前环境:', this.app.getEnv()); // prod
|
||||||
|
// throw new Error("address family not supported")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ export class AutoZPrint {
|
|||||||
|
|
||||||
@Config('https')
|
@Config('https')
|
||||||
httpsConfig: HttpsServerOptions;
|
httpsConfig: HttpsServerOptions;
|
||||||
|
@Config('koa')
|
||||||
|
koaConfig: any;
|
||||||
|
|
||||||
@Init()
|
@Init()
|
||||||
async init() {
|
async init() {
|
||||||
@@ -58,6 +60,7 @@ export class AutoZPrint {
|
|||||||
httpsServer.start({
|
httpsServer.start({
|
||||||
...this.httpsConfig,
|
...this.httpsConfig,
|
||||||
app: this.app,
|
app: this.app,
|
||||||
|
hostname: this.httpsConfig.hostname || this.koaConfig.hostname,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import {logger, safePromise} from '@certd/basic';
|
|||||||
export type HttpsServerOptions = {
|
export type HttpsServerOptions = {
|
||||||
enabled: boolean;
|
enabled: boolean;
|
||||||
app?: Application;
|
app?: Application;
|
||||||
|
hostname?: string;
|
||||||
port: number;
|
port: number;
|
||||||
key: string;
|
key: string;
|
||||||
cert: string;
|
cert: string;
|
||||||
@@ -58,7 +59,7 @@ export class HttpsServer {
|
|||||||
opts.app.callback()
|
opts.app.callback()
|
||||||
);
|
);
|
||||||
this.server = httpServer;
|
this.server = httpServer;
|
||||||
const hostname = '::';
|
let hostname = opts.hostname || '::';
|
||||||
// A function that runs in the context of the http server
|
// A function that runs in the context of the http server
|
||||||
// and reports what type of server listens on which port
|
// and reports what type of server listens on which port
|
||||||
function listeningReporter() {
|
function listeningReporter() {
|
||||||
@@ -70,7 +71,19 @@ export class HttpsServer {
|
|||||||
httpServer.listen(opts.port, hostname, listeningReporter);
|
httpServer.listen(opts.port, hostname, listeningReporter);
|
||||||
return httpServer;
|
return httpServer;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.error('启动https服务失败', e);
|
if ( e.message?.includes("address family not supported")) {
|
||||||
|
hostname = "0.0.0.0"
|
||||||
|
logger.error(`${e.message},尝试监听${hostname}`, e);
|
||||||
|
try{
|
||||||
|
httpServer.listen(opts.port, hostname, listeningReporter);
|
||||||
|
return httpServer;
|
||||||
|
}catch (e) {
|
||||||
|
logger.error('启动https服务失败', e);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
logger.error('启动https服务失败', e);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user