node.js - 在 NodeJS 上为 Watson Conversation 配置 HTTPS

标签 node.js ibm-watson chatbot watson-conversation

这是示例中提供的代码:

'use strict';

var server = require('./app');
var port = process.env.PORT || process.env.VCAP_APP_PORT || 3000;

server.listen(port, function() {
  console.log('Server running on port: %d', port);
});

但是当使用 https 而不是服务器时,它不能很好地与 IBM Watson 对话代码配合使用。 以下是我使用的代码:

var https = require('https');
var fs = require('fs');
var server = require('./app');
var port = process.env.PORT || process.env.VCAP_APP_PORT || 3000;

var options = {
  key: fs.readFileSync('key.pem'),
  cert: fs.readFileSync('cert.pem')
};

var a = https.createServer(options, function (req, res) {
    server.listen(port, function() {
        console.log('Server running on port: %d', port);
    });

}).listen(port);

最佳答案

在这种情况下,Express API 文档非常清楚地说明了这一点。 还有这个article也可以提供帮助。

您可以使用以下方式在 node.js 中创建 HTTPS:

var express = require('express');  //express for it
var server = require('./app');
var https = require('https');
var http = require('http');
var fs = require('fs');
var port = process.env.PORT || process.env.VCAP_APP_PORT || 443; //example

// from the Node.js HTTPS documentation, almost the same your code.
var options = {
  key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
  cert: fs.readFileSync('test/fixtures/keys/agent2-cert.cert')
};

// Create a service (the app object is just a callback).
var app = express();

// Create an HTTP service.
http.createServer(app).listen(80); //you can put the port too.
// Create an HTTPS service identical to the HTTP service.
https.createServer(options, app).listen(port);

Express 文档显示了这一点:

enter image description here

关于node.js - 在 NodeJS 上为 Watson Conversation 配置 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41734722/

相关文章:

javascript - NodeJS 与 Java RESTful 后端?

javascript - 如何访问 apos.define 中的选项?

whatsapp - IBM Watson 与 WhatsApp 的集成

java - Tinychat.com 机器人

javascript - 函数等待查询结果

javascript - Sequelize.js - 关联,2 个表

ibm-watson - IBM Watson Conversation 服务中节点的多个答案

python - 个性洞察 - 分析不同用户的评论

c# - 自适应卡 : Dynamically show Card on dropdown click in Adaptive Card : Bot Builder

javascript - Node.js 和浏览器之间的语音聊天(音频流、VoIP)