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

How to correctly deploy multi meteor instances WITH SSL on one digitalocean droplet using mup?

我的 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. Then with similar configuration I want to deploy second instance to same droplet and get access to it by https://my.domain.com:3002.

访问这个实例

问题是部署后https访问ERR_CONNECTION_CLOSED,但是http访问正常

我怎样才能让它工作?

我终于做到了

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

{
  "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。清除浏览器历史记录后一切都很好。