Назад | Перейти на главную страницу

Как я могу разместить несколько приложений node js на эластичном beanstalk?

Я пытаюсь создать веб-сайт, который ссылается на несколько приложений nodejs.

www.example.com/app1
www.example.com/app2

И app1, и app2 размещены на AWS Elastic Beanstalk.

http://app1.us-west-2.elasticbeanstalk.com
http://app2.us-west-2.elasticbeanstalk.com

Как я могу перенаправить подкаталоги на example.com в эти приложения, не меняя URL-адрес в браузере?

Следует ли мне создать третье приложение на EBS и связать с ним example.com. Затем использовать nginx для перенаправления на определенные приложения?

Извините за расплывчатость. Я новичок в этом.

@ Александр Спасибо. Хотя у меня были проблемы с получением статического файла 404. Это помогло: https://stackoverflow.com/questions/36849456/nginx-reverse-proxy-404-on-static-files

if ($uri ~ app1/) {
  break;
}

if ($http_referer ~ app1/ ) {
  rewrite (.*) /app1/$1 redirect;
}

location /app1/ {
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_set_header    X-Real-IP $remote_addr;
    proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://app1.compute.amazonaws.com:3001/ ;
}

Хотя как отмечено в ссылке. Это не сработает для запросов POST: /

Вы могли бы сделать это nginx. Ваша конфигурация должна выглядеть так:

server {
    listen       80;

    location /app1 {
        proxy_pass http://app1.us-west-2.elasticbeanstalk.com:80;
    }

    location /app2 {
        proxy_pass http://app2.us-west-2.elasticbeanstalk.com:80;
    }
}