использование обратного прокси-сервера в Nginx для приложения реакции с express бэкэндом - PullRequest
1 голос
/ 14 апреля 2020

Таким образом, как видно из названия, я развертываю приложение реагирования с бэкэндом express на экземпляре ec2.

Что я пытаюсь сделать, чтобы сделать:

(просто перечислите это здесь, чтобы предоставить критический контекст на случай, если я напортачу в другом месте)

  • мой рабочий режим express работает на порту 80 с реактивной сборкой html как root.

  • запустить сборку на экземпляре ec2

  • использовать nginx для обратного прокси для моего домена по https и порту 443

  • запустить сервер. js в производственном режиме через PM2

Вещи, с которыми у меня сейчас проблемы:

* 1030 Конфигурация * My Nginx изначально была настроена для попытки прокси приложения реакции, работающего с приложением express, через обратный прокси между ними. Это изменилось, поэтому я пытаюсь настроить сервер так, чтобы в моем приложении был полностью изменен прокси-сервер.

Я следил за этой статьей в качестве справочного материала, но главное отличие в том, что они хотят, чтобы я использовал файл nginx conf, а не файл sites_enabled, который я выполнил при первоначальной настройке nginx. Из того, что я вижу в статье, похоже, что конфигурационные файлы также изменили компоновку, так что это может быть устаревшей практикой.

Вот то, что у меня сейчас есть для Nginx sites_enabled:

    listen 443 default_server;
    listen [::]:443 default_server;
    server_name example.com www.example.com;
    root /home/ubuntu/client/build;
    location / {
    try_files $uri /index.html;
    }
    location /complete {
    proxy_pass https://www.example.com;
    }
     # managed by Certbot
    ssl on;
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

 # managed by Certbot

}
server {
    if ($host = www.example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


       listen 0.0.0.0:80;
       server_name example.com www.example.com;
       rewrite ^ https://$host$request_uri? permanent;

}

На момент написания этого я не смог запустить такие вещи, поэтому я можно использовать только express, настроив его на порт 443 и разместив там файлы сертификации.

...