Sails JS API SSL / https支持

时间:2019-03-02 06:41:14

标签: ssl sails.js

我有一台安装了WordPress的Ubuntu计算机作为前端。 它可以与我的www.example.com一起使用,并且仅使用HTTPS(如果使用HTTP,则会自动重定向到HTTPS)。 在同一台机器上,我安装了Sails应用服务器(版本0.12)并在端口1337上运行。 我在WordPress上有一个表单,该表单将后命令发送到在sails应用程序上运行的api,但由于使用HTTPS加载了网站/页面,而api没有加载api,因此出现错误。

如果我使用Chrome浏览器访问http://www.example.com:1337/api,则api被激活,并且得到结果。 当我尝试使用https://www.example.com:1337/api时-我收到此错误:

此网站无法提供安全的连接domain.com发送了无效的回复。 尝试运行Windows网络诊断程序。 ERR_SSL_PROTOCOL_ERROR

我的机器上有正确的证书文件,为了指示帆使用HTTPS而不是HTTP,我需要做什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为您应该提供一个配置文件,以告知Sails在生产中使用这些证书。在config/local.js中创建一个文件,其中包含SSL证书的所有路径,或将此代码复制到config/env/production.js

var fs = require('fs');

/**
 * SSL certificates config file
 */
module.exports = {

   ssl : {
        ca: fs.readFileSync('/etc/letsencrypt/live/example.com/chain.pem'),
        key: fs.readFileSync('/etc/letsencrypt/live/example.com/privkey.pem'),
        cert: fs.readFileSync('/etc/letsencrypt/live/example.com/cert.pem')
   },

   port: process.env.PORT || 443

};

一个小技巧:如果要将呼叫从80端口重定向到443端口,则可以使用NGINX。