我使用loopback来运行web应用程序的业务逻辑,使用wordpress作为前端。目前,当我测试时,我连接到同一台服务器,并在另一个目录中启动环回,此时在端口3000上运行。我还打开了端口3000到远程连接
然后我可以连接到" example.com:3000"和" example.com:3000 / explorer"
我已成功设置wordpress站点以使用SSL证书,我现在希望设置环回相同,以便我可以通过https连接到端点。
我已按照以下存储库中的说明进行操作:
https://github.com/strongloop/loopback-example-ssl
具体来说我有
在服务器目录下创建了一个名为private
的目录。
在该目录中运行以下命令
$ openssl genrsa -out privatekey.pem 1024
$ openssl req -new -key privatekey.pem -out certrequest.csr
$ openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem
请注意,我不熟悉这些命令。我做了一些搜索,并尽可能地回答了证书的问题
将以下文件作为server
ssl-config.js
目录中
var path = require('path');
var fs = require('fs');
exports.privateKey = fs.readFileSync(path.join(__dirname, './private/privatekey.pem')).toString();
exports.certificate = fs.readFileSync(path.join(__dirname, './private/certificate.pem')).toString();
最后我从示例中复制了server/server.js
,如下所示
var loopback = require('loopback');
var boot = require('loopback-boot');
var http = require('http');
var https = require('https');
var sslConfig = require('./ssl-config');
var app = module.exports = loopback();
// boot scripts mount components like REST API
boot(app, __dirname);
app.start = function(httpOnly) {
if (httpOnly === undefined) {
httpOnly = process.env.HTTP;
}
var server = null;
if (!httpOnly) {
var options = {
key: sslConfig.privateKey,
cert: sslConfig.certificate,
};
server = https.createServer(options, app);
} else {
server = http.createServer(app);
}
server.listen(app.get('port'), function() {
var baseUrl = (httpOnly ? 'http://' : 'https://') + app.get('host') + ':' +
app.get('port');
app.emit('started', baseUrl);
console.log('LoopBack server listening @ %s%s', baseUrl, '/');
if (app.get('loopback-component-explorer')) {
var explorerPath = app.get('loopback-component-explorer').mountPath;
console.log('Browse your REST API at %s%s', baseUrl, explorerPath);
}
});
return server;
};
// start the server if `$ node server.js`
if (require.main === module) {
app.start();
}
当我开始环回时,它告诉我它正在https://0.0.0.0:3000
上运行当我连接到https://www.example.com:3000
或https://www.example.com:3000/explorer
时,端点可用,但Chrome告诉我连接不安全。
我非常希望使用wordpress网站,以及仅使用https进行环回,但这只是因为我知道这是使应用程序安全的最佳起点。