Подключите ember к серверу API через nginx
У меня есть прокси-сервер nginx, который подключает сервер API к моему клиенту ember. Это работает без проблем.
Но когда я нажимаю кнопку обновления любого маршрута, кроме корневого, браузер подключается к прокси и пытается обслуживать указанный URL. Например, myapp.com/user попадает в маршрут пользователя на прокси-сервере, и я получаю ответ не найден 404.
Я очень новичок в nginx, поэтому я точно не знаю, как настроить этот сттинг. Вот мой конфиг прокси:
upstream querybuilder {
# Path to Puma SOCK file, as defined previously
server unix:/home/deploy/essence/shared/sockets/puma.sock fail_timeout=0;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name essence;
root /home/deploy/essence/public;
try_files $uri/index.html $uri @querybuilder;
location @querybuilder {
proxy_pass http://localhost:2300;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
# try_files /fake_file @querybuilder;
}
error_page 500 502 503 504 /500.html;
client_max_body_size 4G;
keepalive_timeout 10;
}
Сервер API - это приложение ruby / hanami. Но это работает без проблем, поэтому я не думаю, что мне нужно перенастроить это.
Может быть, это важно: мы используем ember simple auth для аутентификации.