如何在NginX反向代理配置中更正Meteor base-url?

kin*_*gik 4 javascript reverse-proxy nginx base-url meteor

我通过反向代理(在Ubuntu服务器上)在NginX后面安装了Apache和Meteor.Apache直接映射为baseURL(www.mydomain.com/),Meteor映射为子文件夹(www.mydomain.com/live/).

我遇到的问题是我的Meteor测试(在端口3000处按预期工作)在NginX后面停止工作,因为每个引用(CSS,Javascript,模板)对于baseURL是绝对的.

<html>
<head>
  <link rel="stylesheet" href="/live.css?abc">
  <script type="text/javascript" src="/packages/underscore/underscore.js?efg"></script>
  ...
  <script type="text/javascript" src="/template.live.js?hij"></script>
  <script type="text/javascript" src="/live.js?klm"></script>
</head>
Run Code Online (Sandbox Code Playgroud)

显然,由于Apache是​​在baseURL上映射的,因此在通过NginX进行测试时找不到这些文件.

什么是解决问题的最佳方法?系统管理不是我的强项,Meteor是我在服务器端javascript的第一次入侵.所以我甚至不知道这是否可以修复,如果是,如果是通过服务器配置,Meteor配置或以编程方式完成的.


编辑:Meteor 0.4.0中新的"absolute-url"软件包解决了这个问题!

http://docs.meteor.com/#absoluteurl

kin*_*gik 5

Meteor 0.4.0中新的"absolute-url"软件包解决了这个问题.

http://docs.meteor.com/#absoluteurl

  • 这不再适用,因为已经弃用了包,有利于Meteor.absoluteUrl()和"ROOT_URL"env变量.我已经尝试设置"ROOT_URL",虽然它确实改变了Meteor.absoluteUrl产生的URL,但它似乎对Meteor用于包含应用程序的js文件(运行捆绑版本时)的URL没有影响. (3认同)
  • 有完全相同的问题,虽然这个问题有点过时了.你现在如何解决这个问题? (3认同)