代码之家  ›  专栏  ›  技术社区  ›  Lev

Meteor on AWS使用Mup-SSL和ELB

  •  0
  • Lev  · 技术社区  · 7 年前

    我正在将Meteor应用程序迁移到AWS,希望使用连接到ELB的ACM颁发的SSL证书。 我当前的设置是:

    • ELB和ACM SSL证书(验证负载平衡和HTTPS在EC ubuntu机器内的简单HTTP服务器上工作)
    • Meteor up使用Mup部署在EC2机器上(请参阅我的 mup.js 与文件系统中物理可用的SSL证书配合使用)

    我想从停止使用反向代理 mup。js公司 完全配置并让ELB运行所有SSL内容。问题是ELB无法与Meteor up通信, 已尝试了不同的ROOT\u URL,但均不起作用:

    我应该为ROOT\u URL设置什么?它是否改变了接受请求的游戏规则?i、 e.如果我有错误的ROOT\u URL,Meteor还能接受传入的请求吗?

    • Mup版本:1.4.3
    • Meteor版本:1.6.1

    Mup配置

    module.exports = {
      servers: {
        one: {
          host: 'ec2-111111.compute-1.amazonaws.com',
          username: 'ubuntu',
          pem: 'path to pem'
        }
      },
      meteor: {
        name: 'my-app',
        path: 'path',
        servers: {
          one: {}
        },
        buildOptions: {
          serverOnly: true,
        },
        env: {
          ROOT_URL: 'https://ec2-111111.compute-1.amazonaws.com',
          MONGO_URL: 'mongo url',
        },
        dockerImage: 'abernix/meteord:node-8.9.1-base',
        deployCheckWaitTime: 30,
      },
      proxy: {
        domains: 'ec2-111111.compute-1.amazonaws.com,www.ec2-111111.compute-1.amazonaws.com',
        ssl: {
          crt: './cert.pem',
          key: './key.pem'
        }
      }
    };
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Lev    7 年前

    解决的第一个和一般性问题是,我使用的是经典ELB,它不支持WebSockets,并且阻止DDP连接。更新的 Application Load Balancer WebSocket和粘性会话提供了帮助。有关差异的更多信息,请参见: https://aws.amazon.com/elasticloadbalancing/details/#details

    对于我的用例,另一个更具体的问题是没有ELB健康检查的端点,我在basic\u auth后面隐藏/保护所有内容,健康检查得到 403 unauthorized 未能在ELB中注册EC2实例。确保有返回的运行状况检查端点 200 OK ,还可以重新访问您的安全组-签出 inbound rules 并确保ELB可以访问EC2实例的相应端口(80443等)。

    推荐文章