Meteor.js部署到“example.com”或“www.example.com”?

时间:2013-03-29 13:30:05

标签: javascript mongodb dns meteor web-deployment

我最近使用以下命令部署了一个流星应用程序:

$ meteor deploy example.com

以后(认为它是相同的)使用以下内容:

$ meteor deploy www.example.com

它最终提供了两个不同版本的应用程序,一个托管在“example.com”中,另一个托管在“www.example.com”中。

我可以恢复其中一个部署吗?我应该回复哪一个?

如果没有,我应该在我的域名提供商处设置哪种配置?

谢谢你, 若昂

4 个答案:

答案 0 :(得分:41)

当用户访问您的网页时,您是否希望他们看到 mydomain.com www.mydomain.com

如果是 mydomain.com ,那么您要设置DNS区域文件,其中包含指向IP A origin.meteor.com记录>

如果是 www.mydomain.com ,那么您希望为子域“www”设置CNAME的DNS区域文件,该文件指向origin.meteor.com

然后,您要将“域转发”从其中一个选项设置为另一个。例如,我已将http://playlistparty.net设置为转发至http://www.playlistparty.net

在此之后,您只需运行:

meteor deploy www.playlistparty.net


您可以使用--delete选项删除不会使用的部署。

meteor deploy www.playlistparty.net --delete

答案 1 :(得分:12)

在自定义域名

上部署

将meteor部署到您的域名:

meteor deploy mydomain.com

为* .mydomain.com或www.mydomain.com(如果您只想设置www子域名)和mydomain.com设置您的CNAME记录:origin.meteor.com

OR

将* .mydomain.com和mydomain.com的'A'记录指向:107.22.210.133

要移除您可能偶然输入的现有内容:

meteor deploy www.mydomain.com --delete

答案 2 :(得分:8)

好的伙计们,我找到了一个简单的方法:

如果您希望www重定向到非www,则可以使用此方法。您也可以稍微修改代码,以便以其他方式执行。

只需设置

即可
@ (CNAME) : origin.meteor.comm
www (CNAME) : origin.meteor.com

然后,部署您的主应用程序(没有www)。

meteor deploy yourapp.com

现在,使用

创建一个名为redirect的新流星应用程序
meteor create redirect
cd redirect

设置生成的js文件内容如下:

if (Meteor.isClient) {
  var url = document.URL;
  url = url.replace("www.", "");
  window.location.href = url;
}

然后部署您的重定向应用(使用www)

meteor deploy www.yourapp.com

您所做的是,您为域名的www和非www部署了两个不同的应用程序。 www的所有流星应用程序都是将您重定向到非www域。它还会将 www.yourapp.com/some/path 重定向到 yourapp.com/some/path 。简单而强大的解决方案:)

答案 3 :(得分:4)

我在网上搜索了很多,所以我将分享最终为我工作的内容。我正在寻找所有查询转到我的网站的HTTPS和www版本。只是设置CNAME实际上并没有改为重定向到www版本。我在Modulus上主持并最终做了以下事情:

  1. 强制HTTPS

    • Modulus有一个HTTPS重定向,否则我已经使用Force-SSL软件包和NGINX在之前没有在Modulus上托管的应用程序中成功完成了这项工作。
  2. 托管IP的点域

    • 设置您的域名,example.com,A-record以指向我们的托管IP。
    • 为' www'设置我的CNAME子域指向相同的IP。
  3. 强制www