0

我有一个 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 进行身份验证。

4

0 回答 0