NGINX:使用域/路径在同一服务器上的多个节点js应用程序

里查兹

问题

如果我有一些节点js应用程序,并且想将其发布为mydomain.com/app1、mydomain.com/app2等,则必须将app.get'/'更改app.get('/ app1',也可以在在某些情况下,css,js和图像路径。

要分配域/路径,是否应该始终修改应用程序

有什么方法可以使应用程序独立吗?

是nodejs还是nginx配置?

这是一个用作示例的节点js应用程序:

https://github.com/jrichardsz/sensitive_web1.1/blob/master/server.js

这是mydomain.com的节点js应用程序的nginx配置(有效!)

server {
  listen 80;
  server_name mydomain.com;

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

节点应用:

app.get('/', function(req, res) {
    // ejs render automatically looks in the views folder
    res.render('index');
});

这是我针对同一节点js应用但mydomain.com/app1的nginx配置(有效!)

server {
  listen 80;
  server_name mydomain.com;

  location /app1/ { 
    proxy_pass http://localhost:8080/app1/; 
  }
}

这是节点js应用程序中的修复

app.get('/app1', function(req, res) {
    // ejs render automatically looks in the views folder
    res.render('index');
});

我试过了 :

https://github.com/expressjs/express-namespace

http://expressjs.com/en/4x/api.html

但是在两种情况下,我都需要更改我的node js应用程序。

提前致谢。

布拉德

要分配域/路径时,是否应该始终修改应用程序?

不,您根本不需要修改应用程序。

proxy_pass以这种方式使用时,需要使用正则表达式重写URL。尝试这样的事情:

  location ~ ^/app1/(.*)$ { 
    proxy_pass http://localhost:8080/$1$is_args$args; 
  }

另请参阅:https : //serverfault.com/q/562756/52951

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Nginx:在同一服务器上服务多个React应用程序

如何在同一服务器中使用节点 js 重定向以响应 js 应用程序?

使用Nginx从同一服务器上服务多个Angular应用

将Redis用作同一服务器上多个应用程序的缓存存储

如何将不同的子域指向同一服务器上的不同应用程序?(使用node.js作为代理吗?)

Node.js:如何在同一服务器上运行多个不同的应用程序并优化CPU使用率?

在同一服务器上的docker上运行两个Laravel应用程序并指向子域

为什么我们在同一服务器上使用多个应用程序服务器实例

使用IP地址访问同一服务器上具有多个域的网站

我可以使用DNS名称为同一服务器上的多个不同Web应用程序创建简单地址吗?

同一JMX Mbean类可用于同一服务器上的许多应用程序

如何使用hapi.js在同一服务器上支持多个网站?

如何使用Jetty服务Angular应用程序,并与Jersey一起使用同一服务器?

单点登录,同一服务器上的多个域,rails上的ruby

Nginx 子文件夹中的 Node.js 应用程序,WSS 连接到同一服务器

Express和NGINX在同一服务器上具有子域

(如何)我可以在同一服务器和端口上运行多个Spring Boot应用程序吗?

适用于同一服务器上的多个域的良好实践

Dotnet核心-同一服务器上每个应用程序(进程)的环境变量

如何在同一服务器上运行两个spring boot应用程序?

连接已关闭:多个节点应用程序使用Mongoose连接到同一MongoDB服务器

同一服务器实例上多个静态站点的 Nginx 配置

同一服务器上的多个.NET版本

MVC 3应用程序可以在同一服务器上的其他应用程序中执行动作

Nuxt.js + Laravel在同一服务器Nginx上

当同一类存在于同一服务器上的不同应用程序中时,类加载如何工作?

使用Laravel Forge在同一服务器上的多个队列

通配符子域和同一服务器Nginx中的特定子域配置

从同一服务器上的Windows服务发送在ASP.NET MVC应用程序中运行的SignalR广播