Я работаю над приложением, где у меня есть следующие элементы:
То, что я хочу сделать, очень просто: Я хочу перенаправить с помощью nginx соединение, приходящее с поддомена, на порт 3000 и таким образом отобразить приложение react.
Для этого я использую этот файл, который я помещаю в /etc/nginx/sites-enabled/. На данный момент, когда я подключаюсь к my_domain.com, у меня есть страница по умолчанию для nginx, без перенаправления на ip_address:3000.
server {
listen 80;
server_name my_subdomain www.my_subdomain.com;
location /{
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://ip_address:3000;
}
}
Ваш прокси-сервер выглядит правильно, учитывая, что вы подключаетесь к www.my_subdomain.com, а не через https. Вы должны убедиться, что ваша конфигурация загружается, я помню, что некоторые серверы nginx загружают только сайты с поддержкой / *. Conf, проверьте /etc/nginx/nginx.conf на строку:
include /etc/nginx/sites-enabled/*.conf;
Также реагирующее приложение - это только некоторые статические файлы , так что вы можете позволить nginx обслуживать их напрямую, нет необходимости в его проксировании.
Я размещаю этот ответ на случай, если кто-то столкнется с той же проблемой, что и я. Как было сказано в принятом ответе, прокси был корректен. Основная причина проблемы заключалась в том, что поддомену потребовалось некоторое время, чтобы вступить в силу.
Также, если вы хотите обслуживать статические файлы react app непосредственно из Nginx, вот хороший tutorial .