如何解决Nginx - 同一服务器名称下的多个代理端点
我在同一个项目中有一个 React 应用程序和后端应用程序。结构如下。
myapp -> src -> api
要在我的本地主机中运行这个应用程序,我必须同时启动我的后端和前端应用程序。所以为此我要做的是
- inside
myapp
runnpm start
- 前端应用在 localhost:3000 中打开 - 在
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;
}
}
解决方法
一种选择是配置 2 个不冲突的位置
location /api/ {
proxy_pass http://localhost:9000;
}
location / {
proxy_pass http://localhost:3000;
}
/api/*
请求进入后端,所有其他请求进入前端
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。