我的问题是如何让Nginx将域名(www.example.com/app)转发到同一台服务器上的meteor应用程序。 Nginx在端口80上运行,Meteor在同一台机器上的端口4000上运行。
以下是详细信息:我尝试使用Nginx在我自己的服务器上托管由meteor制作的应用程序。我似乎无法让Nginx将我的域名转发到端口4000,在那里流星可以拿起它并处理网页。
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/xxxxxxxxxxxx.js
而应该是
www.example.com/app/xxxxxxxxxxxx.js
有人可以解释我在Nginx配置或Meteor配置中缺少什么来指向我的流星应用程序
www.example.com/app
答案 0 :(得分:0)
删除此行:
rewrite ^/app(.*) /$1 break;
它正在将www.example.com/app/xxxxxxxxxxxx.js
之类的网址转换回www.example.com/xxxxxxxxxxxx.js