我在我的服务器上设置了nginx,我可以让我在不同端口上运行的meteor应用程序运行在不同的文件夹中。'这是配置:
server {
listen *:80;
server_name meteor.example.com;
access_log /var/log/nginx/meteor.example.com.access.log;
error_log /var/log/nginx/meteor.example.com.error.log;
location /app1 {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header X-Forwarded-For $remote_addr;
}
location /app2 {
proxy_pass http://127.0.0.1:8000;
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.example.com/app1
,并且我尝试导航到联系页面,则网址会更改为meteor.example.com/contact
而不是meteor.example.com/app1/contact
。
此外,当我转到meteor.example.com/app1
时,我的应用程序中有404,因为路由器似乎认为我正在尝试导航到我的应用程序中名为app1
的页面。
我已将app1上的ROOT_URL
设置为http://meteor.example.com/app1,但这似乎无法解决此问题。
同样,我可以通过转到meteor.example.com/[appname]
来正确访问每个应用,但我在应用中获得了404,因为它认为[appname]
是我尝试导航到的页面。
任何帮助都将不胜感激,谢谢。
如果这是有用的信息,我使用meteor up
作为我的部署工具。