mirror of
https://github.com/certd/certd.git
synced 2026-04-14 04:20:52 +08:00
fix: 修复使用代理的情况下申请证书失败的bug
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
*/
|
||||
|
||||
const util = require('./util');
|
||||
const { log } = require('./logger');
|
||||
|
||||
/**
|
||||
* AcmeApi
|
||||
@@ -104,6 +105,16 @@ class AcmeApi {
|
||||
/* Set account URL */
|
||||
if (resp.headers.location) {
|
||||
this.accountUrl = resp.headers.location;
|
||||
const mapping = this.http.urlMapping;
|
||||
if (mapping.mappings) {
|
||||
// eslint-disable-next-line guard-for-in,no-restricted-syntax
|
||||
for (const key in mapping.mappings) {
|
||||
const url = mapping.mappings[key];
|
||||
if (this.accountUrl.indexOf(url) > -1) {
|
||||
this.accountUrl = this.accountUrl.replace(url, key);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return resp;
|
||||
|
||||
@@ -43,7 +43,11 @@ export class AcmeService {
|
||||
}
|
||||
|
||||
async getAccountConfig(email: string): Promise<any> {
|
||||
return (await this.userContext.getObj(this.buildAccountKey(email))) || {};
|
||||
const conf = (await this.userContext.getObj(this.buildAccountKey(email))) || {};
|
||||
if (conf.accountUrl?.indexOf("letsencrypt.proxy.handsfree.work")) {
|
||||
conf.accountUrl = conf.accountUrl.replace("letsencrypt.proxy.handsfree.work", "acme-v02.api.letsencrypt.org");
|
||||
}
|
||||
return conf;
|
||||
}
|
||||
|
||||
buildAccountKey(email: string) {
|
||||
|
||||
Reference in New Issue
Block a user