GVKun编程网logo

NodeJS和SSL-“密码读取错误”(nodejs配置ssl证书)

11

如果您想了解NodeJS和SSL-“密码读取错误”的相关知识,那么本文是一篇不可错过的文章,我们将对nodejs配置ssl证书进行全面详尽的解释,并且为您提供关于Cenos安装nodejs和nodej

如果您想了解NodeJS和SSL-“密码读取错误”的相关知识,那么本文是一篇不可错过的文章,我们将对nodejs配置ssl证书进行全面详尽的解释,并且为您提供关于Cenos安装nodejs和nodejs依赖管理软件npm、javascript – Nodejs / Express:错误:无法在views目录中查找视图“错误”、node.js – Cassandra nodejs:如何获得Keyspaces和表格?、node.js – Jenkins和NodeJS插件 – 权限被拒绝错误的有价值的信息。

本文目录一览:

NodeJS和SSL-“密码读取错误”(nodejs配置ssl证书)

NodeJS和SSL-“密码读取错误”(nodejs配置ssl证书)

节点无法创建用于SSL通信的安全上下文。

具体来说,我正在尝试让远程通知在iOS上运行。我使用了一个名为node-apn的模块,该模块引发以下错误:

Error: error:0906A068:PEM routines:PEM_do_header:bad password readat Error (native)at Object.createSecureContext (_tls_common.js:108:19)at Object.exports.connect (_tls_wrap.js:852:21)at apnSocket (/home/Slurp/node_modules/apn/lib/socket.js:56:19)at Connection.<anonymous> (/home/Slurp/node_modules/apn/lib/connection.js:188:17)at _fulfilled (/home/Slurp/node_modules/apn/node_modules/q/q.js:834:54)at self.promiseDispatch.done (/home/Slurp/node_modules/apn/node_modules/q/q.js:863:30)at Promise.promise.promiseDispatch (/home/Slurp/node_modules/apn/node_modules/q/q.js:796:13)

不过,这似乎是一个通用错误,并且与APN并没有真正的关系。

答案1

小编典典

这是因为您在生成证书时指定了密码。该密码必须由任何想要使用的人提供。

将通行短语字段添加到凭据即可解决此问题。

var credentials = {    key: fs.readFileSync(''XXX.key'', ''utf8''),    cert: fs.readFileSync(''XXX.crt'', ''utf8''),    passphrase: ''XXXX''}var httpsServer = https.createServer(credentials, app);

Cenos安装nodejs和nodejs依赖管理软件npm

Cenos安装nodejs和nodejs依赖管理软件npm

Cenos安装nodejs和npm

安装依赖

~# yum install -y gcc gcc-c++ make cmake autoconf automake libpng-devel libjpeg-devel libtiff-devel jasper-devel freetype-devel openssl-devel

安装remi 软件仓库

~# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 
  ~# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

  ~# rpm -ivh epel-release-6-8.noarch.rpm
  ~# rpm -ivh remi-release-6.rpm

查看状态

~# ls -1 /etc/yum.repos.d/epel* /etc/yum.repos.d/remi.repo

开启 remi 软件仓库

~# vi /etc/yum.repos.d/remi.repo

编辑[remi]下的enabled选项从0设为1

[remi]

enabled=1

查看安装状态

~# yum repolist

安装nodejs和nodejs依赖管理软件npm

~# yum install nodejs npm --enablerepo=epel

查看安装状态

~# node -v
v6.6.0


  ~# npm -v
3.10.3

OK, 大功告成!

javascript – Nodejs / Express:错误:无法在views目录中查找视图“错误”

javascript – Nodejs / Express:错误:无法在views目录中查找视图“错误”

我将nodejs模板引擎切换到ejs(来自jade).当我用我的ejs模板运行我的app.js时,我收到一系列“在视图中查找错误’错误”日志.

其中一些包括:

GET /css/bootstrap.min.css 500 12.588 ms - 1390
Error: Failed to lookup view "error" in views directory
...
GET /css/clean-blog.min.css
Error: Failed to lookup view "error" in views directory
...
GET /js/bootstrap.min.js
Error: Failed to lookup view "error" in views directory
...
GET /js/jquery.js
Error: Failed to lookup view "error" in views directory

事实上,许多这些依赖项都包含在模板本身中(通过脚本标记包含在内).什么是让它们在快递中工作的适当位置?似乎表达最终不应该在views文件夹中查找这些(因为它们不是视图).

解决方法

确保您的Express App具有此设置,对于当前布局,您听起来就像这样.
// Require static assets from public folder
app.use(express.static(path.join(__dirname,'public')));

// Set 'views' directory for any views 
// being rendered res.render()
app.set('views',path.join(__dirname,'views'));

// Set view engine as EJS
app.engine('html',require('ejs').renderFile);
app.set('view engine','html');

将res.render()呈现的视图放置在应用程序顶层的“Views”目录中是很正常的.快速生成器实际上使用该视图设置.您可以通过修改以下行来更改它

// replace with the directory path below ./
app.set('views','views'));

node.js – Cassandra nodejs:如何获得Keyspaces和表格?

node.js – Cassandra nodejs:如何获得Keyspaces和表格?

我试图从Cassandra集群中获取元数据,密钥空间和表.我使用以下node.js代码:

var express = require('express');
var bodyParser = require('body-parser');
var cassandra = require('cassandra-driver');

var client = new cassandra.Client( { contactPoints : [ '127.0.0.1' ] } );
client.connect(function(err,result) {
    console.log('Connected To the Database.');
});

var app = express();
app.use(bodyParser.json());
app.set('json spaces',2);

app.get('/Metadata',function(req,res) {
    res.send(client.hosts.slice(0).map(function (node) {
        return { address : node.address,rack : node.rack,datacenter :     node.datacenter }
    }));
});



app.get('/Metadata/keyspaces',res) {
    client.execute("DESCRIBE KEYSPACES;",function(err,result) {
        if (err) {
            res.status(404).send(err);
        } else {
            res.json(result);        }
    });
});

app.get('/Metadata/tables',res) {
    client.execute("DESCRIBE TABLES",result) {
        if (err) {
            res.status(404).send({ msg : 'No Table found' });
        } else {
            res.json(result);        }
    });
});

var server = app.listen(3000,function() {
    console.log('Listening on port %d',server.address().port);
});

问题是,当我运行上面的代码时,我没有从数据库中获取现有的键空间或表,而是出现以下错误:

{
  "name": "ResponseError","message": "line 1:0 no viable alternative at input 'DESCRIBE'","info": "Represents an error message from the server","code": 8192,"query": "DESCRIBE KEYSPACES;"
}

我怎样才能看到这些信息?提前感谢您的帮助.

更新:

我刚才知道,DESCRIBE是一个cqlsh命令,所以我怎么能在我的情况下解决?

解决方法

DESCRIBE是仅在cqlsh工具上可用的命令.

尝试查询系统表,如here所述.

node.js – Jenkins和NodeJS插件 – 权限被拒绝错误

node.js – Jenkins和NodeJS插件 – 权限被拒绝错误

我已经设法在RaspBerry Pi上设置了Jenkins实例,并且在我最终遇到这个绊脚石之前已经安装了NodeJS插件:

Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/Test Project/workspace
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url localhost:/GITREPO/test # timeout=10
Fetching upstream changes from localhost:/GITREPO/test
 > git --version # timeout=10
 > git fetch --tags --progress localhost:/GITREPO/test +refs/heads/*:refs/remotes/origin/*
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 8e6edee9fdc1e8bf754dc1a27f46c1dea3531144 (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 8e6edee9fdc1e8bf754dc1a27f46c1dea3531144
 > git rev-list 8eaf1bc6a0be837100e476b33bec559b33e9997f # timeout=10
[workspace] $/bin/sh -xe /tmp/hudson5445359267004163031.sh
+ echo /usr/local/bin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
/usr/local/bin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
+ node --version
v0.10.32
+ grunt --version
grunt-cli v0.1.13
+ java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) Client VM (build 25.0-b70,mixed mode)
[workspace] $/tmp/hudson1009495610900642950.js
FATAL: command execution Failed
java.io.IOException: Cannot run program "/tmp/hudson1009495610900642950.js" (in directory "/var/lib/jenkins/jobs/Test Project/workspace"): error=13,Permission denied
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1042)
    at hudson.Proc$LocalProc.<init>(Proc.java:244)
    at hudson.Proc$LocalProc.<init>(Proc.java:216)
    at hudson.Launcher$LocalLauncher.launch(Launcher.java:802)
    at jenkins.plugins.nodejs.tools.DecoratedLauncher.launch(DecoratedLauncher.java:49)
    at jenkins.plugins.nodejs.tools.NpmPackagesBuildWrapper$2.launch(NpmPackagesBuildWrapper.java:88)
    at hudson.Launcher$ProcStarter.start(Launcher.java:380)
    at hudson.Launcher$ProcStarter.join(Launcher.java:387)
    at jenkins.plugins.nodejs.NodeJsCommandInterpreter.perform(NodeJsCommandInterpreter.java:84)
    at jenkins.plugins.nodejs.NodeJsCommandInterpreter.perform(NodeJsCommandInterpreter.java:42)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770)
    at hudson.model.Build$BuildExecution.build(Build.java:199)
    at hudson.model.Build$BuildExecution.doRun(Build.java:160)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:533)
    at hudson.model.Run.execute(Run.java:1745)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:89)
    at hudson.model.Executor.run(Executor.java:240)
Caused by: java.io.IOException: error=13,Permission denied
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:187)
    at java.lang.ProcessImpl.start(ProcessImpl.java:134)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1023)
    ... 18 more
Build step 'Execute NodeJS script' marked build as failure
Finished: FAILURE

我没有做任何特别特别的事情,这是确保NodeJS插件工作的初步测试:

var sys = require('sys');
sys.puts('NodeJS Test');
sys.puts('***********');
sys.puts('Hello World');

如果我以Jenkins用户身份登录并自行运行,则此方法有效:

jenkins@raspBerrypi:~$node test.js
NodeJS Test
***********
Hello World
jenkins@raspBerrypi:~$

我拖网上网,似乎找不到具体的东西;非常确定它不是专门的文件权限(Workspace目录具有对所有用户的完全访问权限)

解决方法

我有同样的问题.对我来说,这是jenkins中“全局配置”下的nodejs插件配置.我的“节点”应用程序(符号链接)位于/usr/local/bin / node.我的“安装目录”设置为/usr/local/bin /.我也改变了/usr/local /它开始工作了!

总结

以上是小编为你收集整理的node.js – Jenkins和NodeJS插件 – 权限被拒绝错误全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

关于NodeJS和SSL-“密码读取错误”nodejs配置ssl证书的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于Cenos安装nodejs和nodejs依赖管理软件npm、javascript – Nodejs / Express:错误:无法在views目录中查找视图“错误”、node.js – Cassandra nodejs:如何获得Keyspaces和表格?、node.js – Jenkins和NodeJS插件 – 权限被拒绝错误的相关信息,请在本站寻找。

本文标签: