我有一台安装了 WordPress 的 Ubuntu 机器作为我的前端。 它适用于我的 www.example.com 并仅使用 HTTPS(如果您使用 HTTP,您将被自动重定向到 HTTPS)。 在同一台机器上,我安装了 sails 应用程序服务器(版本 0.12)并在端口 1337 上运行。 我的 WordPress 上有一个表单,该表单向在 sails 应用程序上运行的 api 发送发布命令,但我收到错误消息,因为站点/页面是使用 HTTPS 加载的,而 api 没有。
如果我使用 Chrome 访问 http://www.example.com:1337/api然后 api 被激活,我得到了结果。 当我尝试使用 https://www.example.com:1337/api - 我收到此错误:
此站点无法提供安全连接 domain.com 发送了无效响应。 尝试运行 Windows 网络诊断。 ERR_SSL_PROTOCOL_ERROR
我的机器上有正确的证书文件,我需要做什么才能指示 sails 使用 HTTPS 而不是 HTTP?
谢谢!
最佳答案
我认为您应该提供一个配置文件,以便告诉 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。
关于ssl - Sails JS API SSL/https 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54955918/