【问题标题】:Nginx - multilple proxy endpoints under same server nameNginx - 同一服务器名称下的多个代理端点
【发布时间】:2021-04-18 01:06:30
【问题描述】:

我在同一个项目中有一个 React 应用程序和一个后端应用程序。结构如下。

myapp -> src -> api

要在我的本地主机上运行这个应用程序,我必须同时启动我的后端和前端应用程序。所以我要做的是

  1. myapp 内运行npm start - 前端应用程序在 localhost:3000 中打开
  2. api 内运行npm start

那么整个应用程序就可以正常运行了。

我想托管这个应用程序。所以我已经使用 npm start 在我的服务器中启动了 FE 和 BE 应用程序。我已经将http:localhost:3000 指向我的服务器。但我的 BE 在http:localhost:9000。如何将 nginx 配置为同时为两者提供服务。

我当前的nginx服务器块如下。

server {
   listen 80 default_server;
   listen [::]:80 default_server;

   server_name myservername.com www.myservername.com;

   location / {
     proxy_pass http://localhost:3000;
   }

}

【问题讨论】:

  • 您可以使用不同的代理位置。您想在子域或不同位置托管您的后端吗?喜欢something.myservername.commyservername.com/services

标签: linux nginx server reverse-proxy digital-ocean


【解决方案1】:

一种选择是配置 2 个不发生碰撞的位置

 location /api/ {
     proxy_pass http://localhost:9000;
     }
   location / {
     proxy_pass http://localhost:3000;
   }

/api/* 请求发送到后端,所有其他请求发送到前端

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-09
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-15
    • 2011-11-22
    • 2016-07-13
    相关资源
    最近更新 更多