ssl - 如何使用 mup 在一个 digitalocean 液滴上正确部署带有 SSL 的多个 meteor 实例?

标签 ssl meteor meteor-up

我的第一个 meteor 实例的 mup.json 配置:

{
  "servers": [
    {
      "host": "111.222.333.444",
      "username": "root",
      "password": "mypass"
    }
  ],
  "setupMongo": true,
  "setupNode": true,
  "nodeVersion": "0.10.40",
  "setupPhantom": false,
  "enableUploadProgressBar": true,
  "appName": "myapp1",
  "app": "../myapp1",
  "env": {
    "PORT": 3001,
    "ROOT_URL": "https://my.domain.com"
  },
  "ssl": {
    "pem": "./ssl.pem"
  },
  "deployCheckWaitTime": 15
}

所以在部署之后我想通过 https://my.domain.com:3001 访问这个实例.然后使用类似的配置我想将第二个实例部署到同一个液滴并通过 https://my.domain.com:3002 访问它.

问题是部署后通过https访问报错ERR_CONNECTION_CLOSED,但是通过http访问是OK的。

我怎样才能让它发挥作用?

最佳答案

终于,我做到了。

首先,我使用了mupx。但在那里我也遇到了麻烦。后来我发现我的错误是为不同的应用程序或协议(protocol)编写了​​相同的端口。因此,有第一个和第二个应用程序的工作配置:

{
  "servers": [{
    "host": "111.222.333.444",
    "username": "root",
    "password": "mypass",
    "env": {}
  }],
  "setupMongo": true,
  "appName": "myapp1",
  "app": "../myapp1",
  "env": {
    "PORT": 8000,
    "ROOT_URL": "http://my.domain.com"
  },
  "deployCheckWaitTime": 15,
  "enableUploadProgressBar": true,
  "ssl": {
    "certificate": "../ssl/bundle.crt",
    "key": "../ssl/private.key",
    "port": 8001
  }
}

{
  "servers": [{
    "host": "111.222.333.444",
    "username": "root",
    "password": "mypass",
    "env": {}
  }],
  "setupMongo": true,
  "appName": "myapp2",
  "app": "../myapp2",
  "env": {
    "PORT": 8100,
    "ROOT_URL": "http://my.domain.com"
  },
  "deployCheckWaitTime": 15,
  "enableUploadProgressBar": true,
  "ssl": {
    "certificate": "../ssl/bundle.crt",
    "key": "../ssl/private.key",
    "port": 8101
  }
}

bundle.crtprivate.key 对所有应用都是通用的。 不要忘记使用 mupx

之后

mupx setup
mupx deploy

我们可以通过以下方式获得第一个应用程序的访问权限

http://my.domain.com:8000
https://my.domain.com:8001

对于第二个应用程序

http://my.domain.com:8100
https://my.domain.com:8101

编辑:通过 http 访问无效。我不知道为什么,也许只是为了我的配置。但是这个功能我不需要,我只需要https。因此,如果您知道如何修复,请写信给我们。

EDIT2:没关系,http 访问有效。原因是 Chrome 浏览器,它总是将我的域从 http 重定向到 https。清除浏览器历史记录后一切都很好。

关于ssl - 如何使用 mup 在一个 digitalocean 液滴上正确部署带有 SSL 的多个 meteor 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35253610/

相关文章:

node.js - 使用 SSH 部署 mupx 期间出现未处理的错误(生成 ENOENT)

javascript - 转义 meteor react 中的html标签

javascript - Meteor-Up 部署失败

ssl - podspace.io 上路由的 CSR

java - 我可以使用签名的 jar 建立 SSL 连接吗?

python - urllib3 CERTIFICATE_VERIFY_FAILED 在某些具有有效证书的站点上

ios - CFNetwork SSLHandshake 失败 (-9824) 但服务器符合条件

javascript - 如何在 Meteor JS 中通过 ID 选择用户?

meteor - 如何正确安装 Meteor-Up (mup)?

amazon-web-services - 带 meteor 的 AWS SES