Я новичок в NGINX, так что это может быть простым исправлением, но я не могу найти какую-либо отличную документацию о том, что я пытаюсь сделать здесь.
Так что у меня есть сайт, который размещен на Ubuntu AWSсервер от nginx и pm2.Моя проблема в том, что я хочу обслуживать веб-сайт на www.mysite.com
, а приложение реакции на www.mywebsite.com/app
.это не похоже, что это должно быть труднее всего сделать.Однако у меня были проблемы, и я не могу заставить его работать так, как мне хотелось бы. (отчасти это связано с тем, что я также хочу разместить сервер API на www.mywebsite.com/api
, но это проблема после этого). Мне удалось сначала просто разместить приложение реакции на www.mysite.com
сследующая конфигурация nginx:
server {
listen 80;
server_name 18.191.56.251;
root /home/ubuntu/app/src;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_max_temp_file_size 0;
proxy_pass http://127.0.0.1:3000/;
proxy_redirect off;
proxy_read_timeout 240s;
}
}
Но когда я переключаю его на суб-маршрут, изменяя конфигурацию следующим образом:
server {
listen 80;
server_name x.x.x.x;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
location /status {
return 200;
}
location /app {
proxy_pass http://127.0.0.1:3000;
}
location / {
proxy_pass http://...:3011/;
}
}
Тогда мой базовый маршрут www.mywebsite.com
для статического веб-сайта работаетхорошо, но www.mywebsite.com/app
не делает и «загружает» пустую страницу, но если вы проверяете, вы видите, что приложение не может загрузить некоторые ресурсы:
bundle.js:1
Failed to load resource: the server responded with a status of 404 (Not Found)
0.chunk.js:1
Failed to load resource: the server responded with a status of 404 (Not Found)
main.chunk.js:1
Failed to load resource: the server responded with a status of 404 (Not Found)
РЕДАКТИРОВАТЬ дополнительные исследования: Если я проверяю запрос наресурс, который я вижу, имеет URL-адрес www.mywebsite.com/static/js/XXX.js
, но статическая папка - ~/app/build/static
.Это проблема nginx или pm2 с размещением статических файлов?
Любая помощь приветствуется, спасибо