Приложение Meteor не отображается в AWS с использованием развертывания Mup и NGINX - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь развернуть приложение Meteor в экземпляре Amazon Web Services с помощью Meteor Up (mup).Я следовал этому руководству https://sergelobatch.com/beginners-guide-to-deploying-a-meteor-app-to-an-aws-server-with-meteor-up/, которое успешно продвигало меня до тех пор, пока этот контрольно-пропускной пункт.

Настройка Mup и развертывание Mup оба успешно работают.Как только я захожу на ip через браузер, я получаю сообщение об ошибке соединения

AWS inbound settings

Meteor Version 1.5.4

Mup 1.4.5

Вот мой mup.js

module.exports = {
  servers: {
    one: {
      // TODO: set host address, username, and authentication method
      host: '54.206.11.xx',
      username: 'ubuntu',
      pem: '~/.ssh/MyClient-Staging.pem'
      // password: 'server-password'
      // or neither for authenticate from ssh-agent
    }
  },

  app: {
    // TODO: change app name and path
    name: 'MyClient',
    path: '../',

    servers: {
      one: {},
    },

    buildOptions: {
      serverOnly: true,
    },

    env: {
      // TODO: Change to your app's url
      // If you are using ssl, it needs to start with https://
      ROOT_URL: 'http://54.206.11.xx',
      MONGO_URL: 'mongodb://mongodb/meteor',
      MONGO_OPLOG_URL: 'mongodb://mongodb/local',
    },

    docker: {
      // change to 'abernix/meteord:base' if your app is using Meteor 1.4 - 1.5
      // image: 'abernix/meteord:node-8.4.0-base',
      image: 'abernix/meteord:base',
    },

    // Show progress bar while uploading bundle to server
    // You might need to disable it on CI servers
    enableUploadProgressBar: true
  },

  mongo: {
    version: '3.4.1',
    servers: {
      one: {}
    }
  },

  // (Optional)
  // Use the proxy to setup ssl or to route requests to the correct
  // app when there are several apps

  // proxy: {
  //   domains: 'mywebsite.com,www.mywebsite.com',

  //   ssl: {
  //     // Enable Let's Encrypt
  //     letsEncryptEmail: 'email@domain.com'
  //   }
  // }
};

При дальнейшей проверке может показаться, что что-то заставляет корневой URL к HTTPS, я не уверен, как это происходит.

Обновление:

Я сейчасиспользуя Nginx, чтобы обслужить мои файлы, чтобы обойти эту проблему https.Проблема сейчас в том, что я вижу только страницу приветствия nginx, где я должен видеть свое приложение.

Вот мои сайты с поддержкой / конфигурация

server {
  listen                *:80;

  server_name           mysite.com;

  access_log            /var/log/nginx/app.dev.access.log;
  error_log             /var/log/nginx/app.dev.error.log;

  location ~* "^/[a-z0-9]{40}\.(css|js)$" {
    root /opt/appName/app/programs/web.browser;
    access_log off;
    expires max;
  }

  location ~ "^/packages" {
    root /opt/appName/app/programs/web.browser/packages;
    access_log off;
  }

  location / {
    proxy_pass http://127.0.0.1:3000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header X-Forwarded-For $remote_addr;
  }
}

Здесь я вижуработают докеры контейнеров.

CONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS              PORTS                        NAMES
2e0124d3fb74        mup-mefleetclient:latest   "/bin/sh -c 'bash $M…"   3 minutes ago       Up 3 minutes        0.0.0.0:3000->80/tcp         MyClient
b880f60e7758        mongo:3.4.1                "/entrypoint.sh mong…"   5 minutes ago       Up 5 minutes        127.0.0.1:27017->27017/tcp   mongodb
root@ip-172-31-4-125:/etc/nginx/sites-enabled#

1 Ответ

0 голосов
/ 15 февраля 2019

Причиной этой проблемы был пакет npm, называемый force-ssl, установленный в проекте.Удаление пакета решило проблему, и проект был доступен для просмотра онлайн.

...