如何更正 NginX 反向代理配置中的 Meteor 基本网址
How can I correct the Meteor base-url in a NginX reverse-proxy configuration?
我已经通过反向代理(在Ubuntu服务器上)在NginX后面安装了Apache和Meteor。Apache直接映射为baseURL(www.mydomain.com/),Meteor映射为子文件夹(www.mydomain.com/live/)。
我遇到的问题是我的 Meteor 测试(在端口 3000 上按预期工作)停止在 NginX 后面工作,因为每个引用(CSS、Javascript、template)对 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>
显然,由于Apache是在baseURL映射的,因此在通过NginX进行测试时找不到这些文件。
解决问题的最佳方法是什么?系统管理不是我的强项,Meteor 是我第一次入侵服务器端 JavaScript。所以我什至不知道这是否可以修复,如果是这样,是否通过服务器配置、Meteor 配置或编程方式完成。
编辑:Meteor 0.4.0中新的"绝对网址"包解决了这个问题!
http://docs.meteor.com/#absoluteurl
Meteor 0.4.0 中新的"绝对网址"包修复了这个问题。
http://docs.meteor.com/#absoluteurl
你为什么要在 Meteor 的<head>
中包含脚本和样式? 您的 meteor 项目目录中包含的任何内容,无论是 js、html 还是 css,都将被捆绑并提供给客户端,而不会包含在您的 HTML 中,<link>
和 <script>
。
如果您必须在<head>
中包含内容,为什么不只使用包含子文件夹的绝对路径?
<html>
<head>
<link rel="stylesheet" href="/live/live.css?abc">
<script type="text/javascript" src="/live/packages/underscore/underscore.js?efg"></script>
...
<script type="text/javascript" src="/live/template.live.js?hij"></script>
<script type="text/javascript" src="/live/live.js?klm"></script>
</head>
如果我误解了问题,请原谅我。
- Meteor如何接收HTTP请求
- Meteor-将选定窗体中的对象添加到集合中
- Meteor上的启动页面
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 如何使用ian:accounts-ui-botstrap-3根据Meteor中的用户输入设置配置文件字段值
- 如何更正 NginX 反向代理配置中的 Meteor 基本网址
- Meteor:用于配置特定于用户类型的路由的约定
- Meteor应用程序-如何实现多实例部署的编排/配置
- Meteor:用户配置文件页面与铁路由器
- 如何对用户中的两个日期对象作出反应's在Meteor中的配置文件
- Meteor升级问题:已配置forgetPWD路由,但showForgotPasswordLink设置为false
- Meteor.user().profile返回'配置文件'未定义
- 使用Meteor配置Mandrill失败
- 向Meteor.users的配置文件部分添加字段
- Meteor.js,Mongo:可以向用户插入新的文档或参数.来自客户端的配置文件
- 将外部配置/参数传递给Meteor *mobile*构建
- 使用铁路由(METEOR)路由到特定的用户配置文件
- Meteor服务器端代码中的配置声明位置
- 在Meteor中编辑配置文件名称
- 如何在meteor中配置数据库