我应该包含 Meteor 的 $ROOT_URL 环境变量的协议吗?
Should I include the protocol for Meteor's $ROOT_URL environment variable?
Meteor.absoluteUrl
有一个创建 HTTPS URL 的 secure
选项,所以我猜 Meteor 只允许 http
或 https
协议。那么不包含协议,只使用 //example.com/
作为 ROOT_URL
环境变量会有什么不同吗?还是有所作为?
我应该包含 Meteor 的 $ROOT_URL 环境变量的协议吗?
执行Meteor.absoluteUrl can be found here。如您所见,如果 secure
为真,它将 ROOT_URL
(options.rootUrl
) 修改为 https
and ROOT_URL
使用http
协议。
如果您使用 https
托管您的网站,我建议您将其包含在 ROOT_URL
中,例如https://app.example.org
。这就是我们所做的,而且效果很好。更改环境变量似乎比修改代码更容易。
请注意,如果您不想指定协议,您应该将 ROOT_URL
设置为 app.example.org
而不是 //app.example.org
- 再次查看实现。
以上答案不再正确。似乎 Meteor 已经改变了实现,现在 ROOT_URL 必须是一个有效的 URL 与 http 或 https。
参见 https://github.com/meteor/meteor/blob/87681c8f166641c6c3e34958032a5a070aa2d11a/packages/meteor/url_server.js#L8
Meteor.absoluteUrl
有一个创建 HTTPS URL 的 secure
选项,所以我猜 Meteor 只允许 http
或 https
协议。那么不包含协议,只使用 //example.com/
作为 ROOT_URL
环境变量会有什么不同吗?还是有所作为?
我应该包含 Meteor 的 $ROOT_URL 环境变量的协议吗?
执行Meteor.absoluteUrl can be found here。如您所见,如果 secure
为真,它将 ROOT_URL
(options.rootUrl
) 修改为 https
and ROOT_URL
使用http
协议。
如果您使用 https
托管您的网站,我建议您将其包含在 ROOT_URL
中,例如https://app.example.org
。这就是我们所做的,而且效果很好。更改环境变量似乎比修改代码更容易。
请注意,如果您不想指定协议,您应该将 ROOT_URL
设置为 app.example.org
而不是 //app.example.org
- 再次查看实现。
以上答案不再正确。似乎 Meteor 已经改变了实现,现在 ROOT_URL 必须是一个有效的 URL 与 http 或 https。 参见 https://github.com/meteor/meteor/blob/87681c8f166641c6c3e34958032a5a070aa2d11a/packages/meteor/url_server.js#L8