gpt4 book ai didi

node.js - Nginx、Node、Angular - 子文件夹 API/URL 配置

转载 作者:搜寻专家 更新时间:2023-10-31 23:21:51 24 4
gpt4 key购买 nike

我目前有一个 Node/Angular 应用程序,当直接指向配置的端口(8081 用于解释我的情况)时,它会按预期运行。我能够按预期发布、获取、放置、删除。

我的目标是让 Node 应用程序在 mydomain.com/subfolder 上运行。当 nginx 配置为“/”的位置时,一切都按预期工作。配置如下:

upstream app_yourdomain {
server 127.0.0.1:8081;
}

server {
listen 0.0.0.0:80;
server_name yourdomain.com yourdomain;
access_log /var/log/nginx/yourdomain.log;

location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;

proxy_pass http://app_yourdomain/;
proxy_redirect off;
}
}

但是,一旦我将位置更改为/subfolder,我的 get、post、put、delete 请求就会返回 404 响应。虽然返回了在 Node 应用程序中配置的 index.html。配置如下:

upstream app_yourdomain {
server 127.0.0.1:8081;
}

server {
listen 0.0.0.0:80;
server_name yourdomain.com yourdomain;
access_log /var/log/nginx/yourdomain.log;

location /subfolder {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;

proxy_pass http://app_yourdomain/;
proxy_redirect off;
}
}

在我的 Angular 工厂中,我的请求结构如下 return $http.get('/subfolder');return $http.post('/subfolder', {data : 数据});.

并且,在我的 Node 应用程序中,我将路由定义为 app.get('/subfolder', somefunction);app.post('/subfolder', somefunction) ;

同样,当我从域的根目录运行应用程序时,它工作正常。但是,当我将它配置为域的子文件夹时,请求不再有效。

我的最终目标是让多个 Node 应用程序从主域的子文件夹运行。我已经为此奋斗了一段时间,并找到了几篇关于在单个服务器上托管多个 Node 应用程序的文章,但它们似乎适合拥有单独的域。我希望(如果可能的话)将它们作为同一域的单独应用程序运行。

有什么想法/技巧/指示吗?谢谢!

最佳答案

将 Nginx 文件修改成如下所示:

 upstream node{
server 127.0.0.1:3000;
}

listen 0.0.0.0:80;
server_name yourdomain.com yourdomain;
access_log /var/log/nginx/yourdomain.log;

location /node {
rewrite /node(.*) $1 break;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;

proxy_pass http://node;
proxy_redirect http://node/ /node;
}

我从这里得到以上信息:http://skovalyov.blogspot.com/2012/07/deploy-multiple-node-applications-on.html对我有用

关于node.js - Nginx、Node、Angular - 子文件夹 API/URL 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22277153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com