Javascript 流星部署的Nginx配置

Javascript 流星部署的Nginx配置,javascript,node.js,meteor,nginx,server,Javascript,Node.js,Meteor,Nginx,Server,我的问题是如何让Nginx将域(www.example.com/app)转发到同一服务器上的meteor应用程序。Nginx在端口80上运行,Meteor在同一台机器的端口4000上运行 以下是详细信息:我正在尝试使用Nginx在我自己的服务器上托管meteor制作的应用程序。我似乎无法让Nginx将我的域名转发到端口4000,meteor可以从中获取域名并处理网页 Nginx代理端口的最新配置如下: server { listen 80 default_server; list

我的问题是如何让Nginx将域(www.example.com/app)转发到同一服务器上的meteor应用程序。Nginx在端口80上运行,Meteor在同一台机器的端口4000上运行

以下是详细信息:我正在尝试使用Nginx在我自己的服务器上托管meteor制作的应用程序。我似乎无法让Nginx将我的域名转发到端口4000,meteor可以从中获取域名并处理网页

Nginx代理端口的最新配置如下:

server {
    listen 80 default_server;
    listen [::]: 80 default_server ipv6only = on;
    root /usr/share/nginx/html;
    index index.html index.htm;

    server_name localhost;

    location / {
        try_files $uri $uri / = 404;    
    }

    location /app {
        rewrite ^/app(.*) /$1 break;
        proxy_pass http://127.0.0.1:4000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header X-Forwarded-For $remote_addr;
   }
}
当我在访问meteor应用程序时使用此配置

www.example.com/app

所有*.js和*.css文件请求都将转发到

www.example.com/xxxxxxxxxx.js

相反,它应该是

www.example.com/app/xxxxxxxxxxx.js

有人能解释一下我在Nginx配置或Meteor配置中遗漏了什么吗

www.example.com/app

删除此行:

    rewrite ^/app(.*) /$1 break;

它正在将
www.example.com/app/xxxxxxxxxx.js等URL转换回
www.example.com/xxxxxxxxxx.js

因为meteor(或node.js)应用程序提供来自/不来自“/app”的请求,所以ngnix必须将请求转发到类似的软件,这里有很多很好的答案: