同时具有 SSR 客户端和 API 服务器的 Nginx 配置

问题描述 投票:0回答:0

我正面临 Nginx 站点可用配置文件的问题。 我正在尝试设置一个使用服务器端呈现 (SSR) 和 Nodejs 的客户端,以及一个使用 Ruby on Rails 的 RestfulAPI。 我想要的是将我的默认路径位置“/”转到 Nodejs 服务器,我还希望将对我的服务器(我的 API)的所有调用都转到路径位置“/api”。

这是我的配置文件:

listen 80;
server_name didsomeonesayfrankerz.com;

passenger_friendly_error_pages on;
passenger_enabled on;
passenger_app_group_name didsomeonesayfrankerz;
passenger_min_instances 15;
passenger_max_request_queue_size 200;
passenger_app_env production;
client_max_body_size 10M;

# API server
location /api {
  passenger_app_type ruby;
  passenger_ruby /home/ost/.rvm/gems/ruby-3.0.0/wrappers/ruby;
  root /home/ost/didsomeonesayfrankerz/server/public;
}

# SSR
location / {
  root /home/ost/didsomeonesayfrankerz/client/dist/ssr;
  passenger_app_type node;
  passenger_nodejs /home/ost/.nvm/v18.16.0;
  passenger_startup_file /home/ost/didsomeonesayfrankerz/client/dist/ssr/index.js;
}

charset utf-8;

location ~ /\.(?!well-known).* {
  deny all;
}

我的问题很简单:我对服务器 ("/api") 的每次调用都被节点服务器 (SSR) 捕获。 我尝试使用“location ^~ /api”但没有用。

感谢任何帮助或建议!

node.js nginx server-side-rendering passenger dev-to-production
© www.soinside.com 2019 - 2024. All rights reserved.