首页 > 解决方案 > 如何在没有express的节点中使用greenlock模块

问题描述

我一直在尝试使用 node 的 greenlock.js 模块来尝试获取在 cloudflare 中注册的域的 ssl 证书。

我在 greenlock-express 上看到了一些示例,但是,我想使用这个模块而不需要使用 express。

问题是我在创建 greenlock 对象时收到以下错误:

internal/validators.js:120
    throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
    ^

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
    at validateString (internal/validators.js:120:11)
    at Object.resolve (path.js:980:7)
    at Object.Init._init (/git_reps/greenlock_test/node_modules/@root/greenlock/lib/init.js:128:14)
    at Object.greenlock._create (/git_reps/greenlock_test/node_modules/@root/greenlock/greenlock.js:58:22)
    at Object.G.create (/git_reps/greenlock_test/node_modules/@root/greenlock/greenlock.js:482:15)
    at Object.<anonymous> (/git_reps/greenlock_test/greenlock-test.js:13:27)
    at Module._compile (internal/modules/cjs/loader.js:1138:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14) {
  code: 'ERR_INVALID_ARG_TYPE'
}

我的代码如下,我什至还没有实现任何其他功能,因为它在这里中断:

  1 'use strict'
  2 
  3 const pkg = require ('./package.json');
  4 const Greenlock = require('greenlock');
  5 const acmeDnsCloudflare = require('acme-dns-01-cloudflare');
  6 
  7 const cloudflareDns01 = new acmeDnsCloudflare({
  8         token: 'dummyToken',
  9         verifyPropagation: true,
 10         verbose: true
 11 });


 13 let greenlock = Greenlock.create({
 14         configDir: './greenlock.d/config.json',
 15         packageAgent: pkg.name + '/' + pkg.version,
 16         maintainerEmail: 'maintaner@example.com',
 17         staging: true,
 18         notify: function(event, details){
 19                 if('error'=== event){
 20                         console.error(details);
 21                 }
 22         }
 23 });


标签: node.jsgreenlock

解决方案


推荐阅读